【问题标题】:Client-side load-balancing with Apache HTTP Client使用 Apache HTTP 客户端进行客户端负载平衡
【发布时间】:2016-02-14 20:12:23
【问题描述】:

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

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

我设想的算法是这样的:

  • 在启动时,客户端会查找它想要使用的服务的 SRV 记录。
  • 客户端将HttpClient 的实例配置为通过可用服务进行循环。
  • 客户端会定期向 DNS 服务器查询更新(由 DNS 记录的 TTL 控制),如果添加或删除主机,则更新 HttpClient
  • 调用客户端的代码只使用绝对路径,没有方案、主机或端口。

约束:

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

有没有一种我还没有找到的漂亮的方法来配置 Apache 的 http 组件?有没有更好的库来满足这种需求?

非常感谢您的意见和想法。

【问题讨论】:

    标签: java failover apache-httpcomponents


    【解决方案1】:

    我找到了Ribbon by Netflix,这正是我所需要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-09
      • 2022-01-17
      • 2011-12-30
      • 1970-01-01
      相关资源
      最近更新 更多