Star

GraphClient连接多addresses问题

public GraphClientImpl(List addresses, int timeout, int connTimeout,
int connectionRetry, int executionRetry)
该方法中传入多个hostandport,如果其中一个hostandport挂掉了,在connect的时候还会去尝试连接吗?我看代码中是随机一个地址去连接的。是否考虑负载均衡或者容错的做法?

我看代码中是随机一个地址去连接的

是的,现在就是这样的。多个address对于连接池才有意义,这里实现只是建立其中某个服务的链接,应该封装一个连接池,这块已经有人贡献连接池 pr 了。在 review 中。

是否考虑负载均衡或者容错的做法?

负载均衡现在还没考虑支持,后续是有这个计划,让所有客户端都支持这个特性。

那么目前要实现负载均衡或者容错有什么建议或者最佳实践吗?

客户端负载均衡这块,现在是用户自己做,大部分用户只是简单的用连接池创建好和多个服务端的连接,然后从连接池里面拿一个连接做请求。
后续的,是需要服务有一些负反馈,让客户端可以知道服务端的情况,相应的做策略选择。

负载均衡及高可用,我这边是使用haproxy+keepalived自行做了层服务

我是直接架了一层lvs,这样客户端永远连一个地址,lvs自己去ha、lb啥的

浙ICP备20010487号