平衡器接口(interface)Get方法有一个put函数,作为其返回之一,应该在grpc调用之后调用://Thefunctionreturnsputwhichiscalledoncetherpchascompletedorfailed.//putcancollectandreportRPCstatstoaremoteloadbalancer.https://github.com/grpc/grpc-go/blob/master/balancer.go#L74如何获取gRPC调用的状态(成功/失败)和统计信息?使用拦截器是一种替代方法,但如果可以获取状态/统计信息,我希望使用此方法。
go-gRPC创建项目创建项目gprc,并新建文件夹server、client、pb在pb文件下创建文件hello_grpc.proto并写入如下内容syntax="proto3";optiongo_package="./;hello_grpc";packagehello_grpc;messageReq{stringmessage=1;}messageRes{stringmessage=1;}serviceHelloGRPC{rpcSayHi(Req)returns(Res);}安装gRPC编译工具详细信息参考grpc官网goinstallgoogle.golang.org/protobuf/
我有一个gRPC客户端和服务器,都使用ssl证书进行保护。如果中间没有代理,这些工作很好。作为测试,当我故意创建有缺陷的证书时,它失败了。稍后将在本文中证明这不是证书问题。gRPC服务器代码://CreatesanewgRPCserver//CreatetheTLScredentialscreds,err:=credentials.NewServerTLSFromFile("configs/cert/servercert.pem","configs/cert/serverkey.pem")iferr!=nil{log.Fatalf("couldnotloadTLSkeys:%s",er