rpcx客户端调用服务端超时的技术细节
0x2
客户端代码
func main() {
d := client.NewConsulDiscovery(*basePath, "Echo", []string{*consulAddr}, nil)
option := client.DefaultOption
// 设置了响应服务端的超时时间为5秒
option.ReadTimeout = 5 * time.Second
xclient := client.NewXClient("Echo", client.Failtry, client.RandomSelect, d, option)
defer xclient.Close()
args := &Args{
Name: "Rabbit",
}
reply := &Reply{}
err = xclient.Call(ctx, "Say", args, reply)
if err != nil {
log.Fatalf("调用失败: %v", err)
}
log.Printf("%s
", reply.Greet)
}
这段代码表示,当客户端调用Echo服务的时候,假如Echo服务的响应超过5秒,则客户端直接返回,继续执行下面的逻辑
以上是 rpcx客户端调用服务端超时的技术细节 的全部内容, 来源链接: utcz.com/z/516258.html