【发布时间】:2017-12-09 01:23:39
【问题描述】:
是否有人在 go 中有有效的 gRPC 负载平衡器/名称解析器示例?没有什么比预定义地址列表循环循环更有趣的了。
更新: 我的意思是 gRPC 有拨号选项 WithBalancer,它的使用类似于
var opts []grpc.DialOption
b := grpc.RoundRobin(r) //r - name resolver
opts = append(opts, grpc.WithBalancer(b))
conn, err := grpc.Dial("", opts...)
是否有任何示例说明如何实现名称解析器以使用此代码?
谢谢
【问题讨论】:
-
请说明您在寻找什么。它是一个接收请求并将其转发到目标池的库,还是一个成熟的负载均衡器?
-
我更新了我原来的帖子
-
我自己没有尝试过新的平衡器 API(因为我们有自己的平衡器实现)...但我认为单元测试可能会启发你:github.com/grpc/grpc-go/blob/master/balancer/roundrobin/…
-
实际上通读测试非常简单,而且真的很有帮助