繁体   English   中英

使用Apache HTTP Client进行客户端负载平衡

[英]Client-side load-balancing with Apache HTTP Client

我们正在构建具有客户端负载平衡和故障转移功能的可扩展点对点微服务架构。 就像HashiCorps的领事一样,其基本思想是使用DNS SRV记录管理服务发现。

作为HTTP客户端,我们使用Apache http-components。

我设想的算法如下所示:

  • 在启动时,客户端会查找其要使用的服务的SRV记录。
  • 客户端将HttpClient的实例配置为通过可用服务进行轮询。
  • 客户端定期查询DNS服务器以获取更新(由DNS记录的TTL控制),并在添加或删除主机时更新HttpClient
  • 调用客户端的代码仅使用绝对路径,而没有方案,主机或端口。

限制条件:

  • 遵守SRV记录的优先级和权重字段。
  • 通过回退策略和临时禁用主机来实施故障转移。

有没有一种我还没有找到的配置Apache HTTP组件的漂亮方法? 有没有更好的库可以满足这种要求?

非常感谢您的意见和建议。

我发现Netflix提供的Ribbon功能确实满足我的需求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM