当前位置:   article > 正文

golang rpcx记录一次解决 context deadline exceeded的问题_golang context deadline exceeded

golang context deadline exceeded

测试同时并发一万个应用去调用另一个微服务应用结果出现了上下文切换超时的问题

默认的超时时间只有一秒时间,程序在高并发的场景下很容易触发这个错误!

最简单的解决办法就是把超时时间调大一点 以前设置的是一秒 现在调成五秒

另一种解决办法就是优化自己的程序,使调用时间大大缩短保证全部的调用耗时都在一秒内,

ctx, cancelFn := context.WithTimeout(context.Background(), 5*time.Second)
err := xclient.Call(ctx, "Mul", args, reply)
if err != nil {
		panic(err)
	}
cancelFn()
_ = xclient.Close()
func() {
	if r := recover(); r != nil {
		fmt.Printf("捕获到的错误:%s\n", r)
	}
}()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/157555
推荐阅读
相关标签
  

闽ICP备14008679号