我在项目中使用grpc,如果我有一个grpc服务调用helloService,是否应该使用GetNewHelloServiceClient在每个函数中获取一个新客户端?或者只是进入启动程序一次?
// for example:
c.GET("/hello", SayHello)
func SayHello() {
c := pb.GetNewHelloServiceClient()
res, err := c.SayHello(context.Background(), &request)
if err != nil {
return
}
fmt.print(res.Hello)
}
答案 0 :(得分:1)
仅创建一次gRPC客户端。
go中的许多网络概念都是为重用而设计的:http客户端,http传输,sql.DB连接池等。它们都是例行安全的,并且只能创建一次,但可以重复使用多次。