赞
踩
测试同时并发一万个应用去调用另一个微服务应用结果出现了上下文切换超时的问题
默认的超时时间只有一秒时间,程序在高并发的场景下很容易触发这个错误!
另一种解决办法就是优化自己的程序,使调用时间大大缩短保证全部的调用耗时都在一秒内,
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)
}
}()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。