精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Go 微服務框架 go-micro 使用客戶端 RPC 調(diào)用服務端方法返回 408 怎么解決?

開發(fā) 前端
本文我們介紹怎么解決客戶端 RPC 調(diào)用服務端的方法,返回錯誤碼 408 的問題,我們使用 go-micro 和 gin 構建了示例代碼,并通過修改示例代碼,分析出現(xiàn)返回錯誤碼 408 問題的原因。

1、介紹

本文我們使用 go-micro 構建微服務的服務端和客戶端,并使用 gin 集成客戶端構建 HTTP Api,在代碼中模擬客戶端 RPC 調(diào)用服務端方法返回 408 的問題,以及怎么解決?

客戶端輸出日志:

{"id":"go.micro.client","code":408,"detail":"context deadline exceeded","status":"Request Timeout"}

2、使用 go-micro 構建服務端和客戶端

關于 proto 和 consul 的相關內(nèi)容,不是本文的重點,將不再贅述,感興趣的讀者朋友們可以查閱公眾號的歷史文章。

創(chuàng)建服務端服務的代碼:

func main() {
registry := consul.NewRegistry(func(options *registry.Options) {
options.Addrs = []string{"127.0.0.1:8500"}
options.Timeout = 5 * time.Second
})
// create a new service
service := grpc.NewService(
micro.Name("go.micro.srv.user"),
micro.Registry(registry),
)
// handler
user.RegisterUserHandler(service.Server(), new(user_handler.User))
// initialise flags
service.Init()
// start the service
service.Run()
}

服務端方法:

type User struct{}

func (u *User) Login(ctx context.Context, req *user.LoginRequest, rsp *user.LoginResponse) error {
time.Sleep(10 * time.Second) // 模擬超時響應
rsp.Username = "Welcome " + req.Email
return nil
}

客戶端代碼:

func main() {
r := NewRouter()
server := &http.Server{
Addr: ":8080",
Handler: r,
ReadTimeout: time.Second * 20,
WriteTimeout: time.Second * 20,
MaxHeaderBytes: 1 << 20,
}
if err := server.ListenAndServe(); err != nil {
log.Fatal(err)
}
}

// 省略 User.Login 相關代碼

func NewRouter() *gin.Engine {
r := gin.New()
userHandler := new(User)
r.GET("/login", userHandler.Login)
return r
}

func NewClient() user.UserService {
registry := consul.NewRegistry(func(options *registry.Options) {
options.Addrs = []string{"127.0.0.1:8500"}
options.Timeout = 5 * time.Second
})
client := grpc.NewClient(
client.DialTimeout(15*time.Second),
client.RequestTimeout(15*time.Second),
client.Registry(registry),
)
userClient := user.NewUserService("go.micro.srv.user", client)
return userClient
}

分別啟動服務端和客戶端, 然后使用 curl 請求 Api:

?  /Users/frank curl http://127.0.0.1:8080/login
{"data":"Welcome gopher@88.com"}%

閱讀上面的運行結(jié)果,可以發(fā)現(xiàn)我們構建的服務端和客戶端運行正常。

3、模擬返回 408 的問題

我們在服務端的方法中使用 time.Sleep(10 * time.Second) 模擬延長響應時長,我們修改客戶端代碼,將客戶端超時時間也設置為 10s。

修改客戶端代碼:

client.DialTimeout(10*time.Second),
client.RequestTimeout(10*time.Second),

閱讀上面這段代碼,我們將客戶端超時時間改為 10s,然后重啟客戶端應用,使用 curl 請求 Api:

/Users/frank curl http://127.0.0.1:8080/login

運行 curl,沒有返回響應結(jié)果,我們查看客戶端的日志發(fā)現(xiàn):

{"id":"go.micro.client","code":408,"detail":"context deadline exceeded","status":"Request Timeout"}

原因是服務端方法中,我們在代碼中使用 time.Sleep(10 * time.Second) 模擬響應需要 10s,而在客戶端中,我們定義的客戶端超時時間由原來的 15s 改為 10s,所以導致返回 408 的問題。

需要注意的是,go-micro 中 client 的默認超時時間是 5s。

4、解決方法

我們在了解完問題出現(xiàn)的原因之后,聰明的讀者朋友們可能已經(jīng)有了解決問題的方法。

解決該問題,有兩種解決方法,第一種是修改 client 的超時時間,延長超時時間至足夠接收到響應結(jié)果的時長,但是需要注意的是,http server 的讀寫時間也要滿足可以接收到響應結(jié)果的時長,本文我們設置為 20s,如下所示:

server := &http.Server{
Addr: ":8080",
Handler: r,
ReadTimeout: time.Second * 20,
WriteTimeout: time.Second * 20,
MaxHeaderBytes: 1 << 20,
}

而且還需要注意其上下游服務之間的超時時間,避免出現(xiàn)雪崩等問題。

第二種是優(yōu)化服務端方法的響應時間,將其響應時間縮短至客戶端的超時時間以內(nèi)。具體如何優(yōu)化,要根據(jù)實際情況決定,比如是否因為數(shù)據(jù)庫讀寫耗時太長,代碼的時間復雜度太高等。

5、總結(jié)

本文我們介紹怎么解決客戶端 RPC 調(diào)用服務端的方法,返回錯誤碼 408 的問題,我們使用 go-micro 和 gin 構建了示例代碼,并通過修改示例代碼,分析出現(xiàn)返回錯誤碼 408 問題的原因。

讀者朋友們在遇到該問題時,建議優(yōu)先采用第二種方法解決,如果使用第一種方法,需要特別注意避免分布式系統(tǒng)的雪崩問題。

責任編輯:武曉燕 來源: Golang語言開發(fā)棧
相關推薦

2021-07-26 11:19:43

微服務開發(fā)技術

2021-10-19 08:58:48

Java 語言 Java 基礎

2024-01-02 12:17:44

Go傳統(tǒng)遠程

2024-03-06 14:58:52

客戶端微服務架構

2025-08-04 01:22:00

Go 語言微服務Kratos

2025-01-13 00:00:07

Go語言微服務

2015-01-13 10:32:23

RestfulWeb框架

2023-04-03 08:13:05

MySQLCtrl + C

2025-01-20 00:10:00

Go語言Kratos

2009-08-21 15:59:22

服務端與客戶端通信

2009-08-21 16:14:52

服務端與客戶端通信

2011-09-09 09:44:23

WCF

2024-12-23 00:22:55

2010-03-18 17:47:07

Java 多客戶端通信

2023-03-06 08:01:56

MySQLCtrl + C

2009-08-21 15:36:41

服務端與客戶端

2009-08-21 15:54:40

服務端與客戶端

2021-10-14 08:39:17

Java Netty Java 基礎

2022-03-22 09:22:21

Go kitgRPC網(wǎng)絡傳輸

2021-01-14 09:55:21

Java微服務Go
點贊
收藏

51CTO技術棧公眾號

欧美h版在线| 制服丝袜在线播放| 亚洲一区自拍| 在线成人中文字幕| 午夜影院免费版| 97在线超碰| 中文字幕免费不卡| 91久久国产综合久久蜜月精品| 国产又色又爽又黄的| 日韩欧美不卡| 亚洲国产精品女人久久久| 亚洲精品中文字幕无码蜜桃| a级网站在线播放| 91麻豆视频网站| 国产欧美一区二区三区在线| 久久视频免费在线观看| 日韩视频在线观看| 国产婷婷97碰碰久久人人蜜臀| 中文字幕视频三区| 性国裸体高清亚洲| 一区二区三区在线播| 欧美色图亚洲自拍| 国产91免费看| 精品亚洲成av人在线观看| 97av在线视频| 久久免费少妇高潮99精品| 欧美日韩一二| 日韩高清免费在线| 色姑娘综合天天| 成人精品国产| 日本韩国视频一区二区| 国产免费一区二区视频| 麻豆网站在线免费观看| 久久精品一区二区三区不卡| 国产精品一区二| 国产视频手机在线观看| 日本aⅴ亚洲精品中文乱码| 97精品视频在线播放| 强行糟蹋人妻hd中文| 91视频综合| 在线观看久久av| 久久精品国产亚洲AV熟女| 精品福利一区| 亚洲精品一线二线三线无人区| 182午夜视频| 欧美videos粗暴| 91福利在线观看| 国产a级片免费观看| 中文字幕高清在线播放| 欧美日韩国产精品一区| 九一国产精品视频| 成年女人在线看片| 精品成人久久av| ww国产内射精品后入国产| 国产91足控脚交在线观看| 亚洲综合丁香婷婷六月香| 成人黄色片免费| 色呦呦在线资源| 夜夜夜精品看看| 免费看毛片的网址| 国产盗摄在线视频网站| 亚洲第一综合色| 精品久久一二三| 欧美日韩大片| 欧美探花视频资源| 午夜视频在线网站| 欧美久久一区二区三区| 精品少妇一区二区三区日产乱码 | 极品少妇xxxx精品少妇偷拍| 国产欧美日韩高清| 国产三级小视频| 高清国产一区二区三区| 韩国成人av| 久久免费看视频| 国产精品久久久久三级| 男人天堂成人网| 五月婷婷视频在线观看| 亚洲va国产va欧美va观看| www.com毛片| 成人黄色视屏网站| 欧美一区二区观看视频| 艳妇乳肉亭妇荡乳av| 亚洲第一福利专区| 色阁综合伊人av| 欧美日韩在线视频免费| 亚洲主播在线| 国产日本欧美一区二区三区在线| www.国产麻豆| 26uuu久久综合| 在线观看欧美亚洲| 国产乱码在线| 欧美性大战久久久| 性一交一黄一片| 一道本一区二区三区| www日韩欧美| 国产一区二区视频在线观看免费| 亚洲影音一区| 成人中文字幕+乱码+中文字幕| 国产 欧美 自拍| 中文字幕欧美日韩一区| 99国产精品白浆在线观看免费| 男人皇宫亚洲男人2020| 欧美一级久久久久久久大片| 欧美性xxxx图片| 91精品秘密在线观看| 欧美一级免费看| 国产日韩欧美视频在线观看| 91蜜桃传媒精品久久久一区二区 | 尤物在线精品| 国产精品九九久久久久久久| www日本在线| 国产日韩一级二级三级| av片在线免费| 日本成人在线网站| 亚洲欧洲在线视频| 精品少妇theporn| 国产最新精品免费| 欧洲精品在线一区| segui88久久综合9999| 欧美精品欧美精品系列| 日韩一级av毛片| av不卡免费看| 99在线观看视频| 激情视频在线观看| 欧美丝袜自拍制服另类| 青青草视频播放| 韩国在线一区| 91视频99| 高h视频在线观看| 欧美日韩国产经典色站一区二区三区 | 91精品国产综合久久久久| 波多野结衣av在线观看| 日韩视频一区| 国产精品入口免费| 日本高清成人vr专区| 欧美日韩性生活| av免费播放网站| 日韩成人午夜电影| 欧美视频小说| 欧美羞羞视频| 国产亚洲欧美视频| 无码人妻黑人中文字幕| 久久亚洲捆绑美女| caopor在线视频| 国产成人精品999在线观看| 8050国产精品久久久久久| 日本成人动漫在线观看| 亚洲午夜在线电影| 蜜臀视频在线观看| 精品9999| 精品不卡一区二区三区| 午夜伦理福利在线| 亚洲人成电影在线播放| 国产污视频网站| 欧美激情综合五月色丁香| 91日韩视频在线观看| 久久美女视频| 91亚洲va在线va天堂va国 | 日韩av手机在线看| 九九在线视频| 欧美性大战久久久久久久| 国产7777777| 韩国成人精品a∨在线观看| 国产精品亚洲天堂| 伊人久久影院| 91chinesevideo永久地址| 欧美精品a∨在线观看不卡| 色欧美乱欧美15图片| 一级片黄色录像| 精品一区二区影视| 国产91沈先生在线播放| 欧美变态挠脚心| 国产精品v日韩精品| √天堂资源地址在线官网| 3d动漫精品啪啪一区二区竹菊| 欧美黑人精品一区二区不卡| 成人免费高清在线| 一本久道中文无码字幕av| 久久五月天小说| 风间由美久久久| 刘亦菲一区二区三区免费看| 日韩在线视频导航| 亚洲精选一区二区三区| 色综合久久久久久久久| 登山的目的在线| av一区二区三区四区| 亚洲国产精品三区| 亚洲午夜极品| 日本免费高清一区二区| 少妇精品在线| 国产福利精品av综合导导航| 国产日产一区二区| 日韩精品高清在线| 91麻豆国产在线| 天天色综合天天| 美国黄色片视频| 91在线观看地址| 久久久久久久久久一区| 99精品久久久| 日韩人妻精品一区二区三区| 天天做夜夜做人人爱精品| 91精品国产自产在线观看永久| yellow在线观看网址| 精品久久国产精品| 欧美性孕妇孕交| 日韩亚洲电影在线| 伊人网av在线| 精品国产91久久久久久老师| 91香蕉视频在线播放| 久久午夜电影网| www.com日本| 精品一区二区三区日韩| 日韩av一二三四| 亚洲国产激情| 精品国产三级a∨在线| 在线一级成人| 国产精品一区二区三区免费| 国产精品一区二区精品| 日韩av免费在线观看| 国产夫妻在线播放| 欧美成人在线影院| 在线国产情侣| 亚洲视频网站在线观看| 亚洲精品一区二区三区不卡| 欧美顶级少妇做爰| 日韩乱码一区二区三区| 欧美日韩一区二区免费视频| 欧美激情一区二区视频| 国产精品久99| 欧美成人短视频| 久久久久久久综合色一本| 精品中文字幕在线播放 | 欧美人与性动xxxx| 337p粉嫩色噜噜噜大肥臀| 亚洲成av人在线观看| 精品99在线观看| 亚洲精品国产无天堂网2021| 国产白丝一区二区三区| 国产精品日日摸夜夜摸av| 欧美黄色一级生活片| 久久久久国产精品人| 中文字幕日韩三级片| 99麻豆久久久国产精品免费| 午夜不卡久久精品无码免费| 国产99久久久国产精品| 日本少妇一区二区三区| 国产成人精品影视| 色黄视频免费看| 成人午夜精品在线| 精品无码人妻少妇久久久久久| 福利一区二区在线观看| 95视频在线观看| 99视频热这里只有精品免费| 亚洲色图14p| 久久久久久久久久美女| 性猛交ⅹxxx富婆video| 亚洲国产精品精华液2区45| 少妇无套高潮一二三区| 中文字幕欧美国产| 久久久精品少妇| 亚洲国产精品久久不卡毛片| 国产成人精品a视频一区| 好吊成人免视频| 久久久久精彩视频| 69久久99精品久久久久婷婷| www夜片内射视频日韩精品成人| 日韩精品一区二区三区在线| 国产成人三级在线观看视频| 亚洲精品久久久久中文字幕欢迎你| 蜜臀久久99精品久久久| 亚洲欧美激情视频| 亚洲xxxxxx| 欧美日韩国产成人| 日本黄色免费在线| 国产精品视频自拍| 午夜视频在线观看精品中文| 国精产品99永久一区一区| 国产成人影院| 在线观看免费黄色片| 很黄很黄激情成人| 粗暴91大变态调教| 国产原创一区二区三区| 日韩成人av一区二区| 国产视频911| 毛片aaaaa| 色婷婷亚洲综合| 国产黄a三级三级三级| 亚洲精品国产精品自产a区红杏吧| 电影在线高清| 欧美国产第一页| 成人激情综合| 国产精品久久久久免费| 国产一区二区三区91| 色哺乳xxxxhd奶水米仓惠香| 香蕉亚洲视频| 日本中文字幕在线不卡| 久久先锋影音av鲁色资源| 国产美女福利视频| 日韩欧美成人精品| 性生活三级视频| 在线观看中文字幕亚洲| 狼人综合视频| 亚洲一区亚洲二区| 欧美在线观看视频一区| 黄色一级片在线看| 精品一区二区av| 中文字幕成人动漫| 亚洲成a人v欧美综合天堂下载| 国产精品无码久久久久成人app| 国产午夜精品久久久 | 日本高清视频免费看| 色综合伊人色综合网站| 精品国产免费人成网站| 国产精品久久一区二区三区| 天天综合精品| 人人干人人视频| 94色蜜桃网一区二区三区| 草视频在线观看| 欧美另类久久久品| 国产成人天天5g影院在线观看| 亚洲3p在线观看| 日韩三级网址| 日韩最新中文字幕| 久久爱www久久做| 精品国产aaa| 色婷婷亚洲精品| 十九岁完整版在线观看好看云免费| 欧美成人手机在线| 91嫩草国产线观看亚洲一区二区| 日本视频精品一区| 国产精品久久久亚洲一区| 美女久久久久久久久| 尤物视频一区二区| 国产成年妇视频| 久久国产精品影视| 99久久久国产| 中文字幕一区二区三区四区五区六区 | 丁香六月天婷婷| 九色91av视频| 一级毛片精品毛片| 日本a在线天堂| 国产69精品久久久久777| 妺妺窝人体色www婷婷| 日韩一级黄色大片| 新版中文在线官网| 成人资源视频网站免费| 欧美午夜影院| 国产视频精品视频| 午夜精品久久久久久久久久| 欧美熟妇另类久久久久久不卡| 97香蕉超级碰碰久久免费软件| 女一区二区三区| 免费无码av片在线观看| 久久久青草青青国产亚洲免观| 久久国产视频一区| 国产一区二区免费| 久久69成人| 日韩中文在线字幕| 国产suv精品一区二区三区| 国产精品99精品| 亚洲男人的天堂在线| 色猫猫成人app| av磁力番号网| 大尺度一区二区| 天天做天天爱夜夜爽| 亚洲男人第一网站| 日本久久久久| 777久久精品一区二区三区无码| 成人美女在线视频| 天堂а√在线中文在线新版| 一色桃子一区二区| 高清久久一区| 霍思燕三级露全乳照| 久久精品网站免费观看| 一级片一区二区三区| 欧美精品久久久久久久久| 九九在线高清精品视频| 岛国毛片在线播放| 亚洲国产va精品久久久不卡综合| 亚洲色大成网站www| 国产美女久久久| 欧美性色综合| www..com.cn蕾丝视频在线观看免费版 | 欧美极品aⅴ影院| www日本视频| 国产精品久久久久77777| 中文字幕一区二区三区在线视频| 人体私拍套图hdxxxx| 欧美日韩精品欧美日韩精品一| 波多野结衣在线观看| 视频一区二区三区在线观看| 国产jizzjizz一区二区| 黄色av网站免费| 欧美疯狂性受xxxxx另类| 国产伦精品一区二区三区视频 | 久久综合色婷婷| 国产日韩一级片| 国产成人短视频| 国产综合自拍| 国产精品视频在|