hprose 的 tcp 客户端支持同时设置多个服务地址,每个客户端会自动随机选择一个,将流量分摊,当某个服务器出现故障时,还可以自动切换(有选项) 其实 hprose 的所有传输协议上的客户端都支持设置多个服务器地址,只是服务地址必须是一样的传输协议,而且服务内容是相同的。这是 hprose 2.0 的客户端提供的功 ..

hprose 负载均衡怎么做?

本贴最后更新于 1015 天前,其中的信息可能已经天翻地覆

hprose 的 tcp 客户端支持同时设置多个服务地址,每个客户端会自动随机选择一个,将流量分摊,当某个服务器出现故障时,还可以自动切换(有选项)

其实 hprose 的所有传输协议上的客户端都支持设置多个服务器地址,只是服务地址必须是一样的传输协议,而且服务内容是相同的。这是 hprose 2.0 的客户端提供的功能。

有几个属性跟负载均衡有关,他们分别是:failswitchfailroundidempotentretry ,另外还有这个 onFailswitch 事件。

这个设计是为了让客户端尽可能减少对注册中心的依赖,和防止注册中心连不上的时候,客户端不能正常工作

比如你客户端可以保存一份本地的服务列表,当能跟注册中心连接的时候,更新这个列表,连不上的时候就使用本地列表,在 onFailswitch 事件发生时,判断 failround 属性是否大于 0,如果大于 0,说明现在所有的客户端拥有的服务列表已经切换一遍了,那就可以再去注册中心拉一份新的试试看,如果注册中心能连上,就更新,如果连不上,可以继续在本地列表上重连测试。

通过 http 发布的是不是也可以用基于客户端的负载均衡?这样就省的再走 haproxy 或 nginx 的反向代理了

这个负载均衡是通用的,并且支持 HTTPS。

  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 484 关注
  • 客户端
    4 引用 • 87 回帖
  • 列表
    4 引用 • 12 回帖
  • 注册
    3 引用 • 1 回帖
回帖   
请输入回帖内容...