1.IM场景的负载均衡
2.方案总览
SDK层想要连接一个TCP网关或者WebSocket网关的方案
-
SDK单地址:在SDK中写死某个网关的IP或者域名,缺点是更换地址需要重新打包SDK
-
SDK多地址:防止某一个地址嗝屁了写上多个地址用足保持高可用
-
暴露接口给客户端:SDK层访问接口动态获得地址
-
注意:一般来说会引入注册中心所有Netty服务均会加入进去
3.常见的负载均衡算法
-
随机
-
轮询
-
一致性Hash
4.说明
由于负载均衡算法的随机和轮询实现都很简单,所以这里我主要说一下一致性Hash