负载均衡
RocketMQ Connect的负载均衡实现方式和主要算法
Last updated
RocketMQ Connect的负载均衡实现方式和主要算法
Last updated
RocketMQ Connect负载均衡跟RocketMQ Consumer和Queue之间的负载均衡类似,都是每个节点运行相同的负责均衡算法计算本节点应该处理的Task。
RocketMQ Connect集群中如果有节点挂掉,集群信息会发生变化,每个节点检查到集群信息发生了变化就会出发负载均衡,对集群中运行的Connector, Task重新分配,从而保证故障节点的任务分配到其它接单处理。
RocketMQ Runtime的一致性Hash算法作用是负载均衡是不会对运行中的connector任务再次影响。
RocketMQ Runtime实现了通过设置JVM来设置一致性hash负载均衡算法,具体参数请参考
1. 在rocketmq-connect-runtime/target/distribution/conf/connect.conf
中配置 allocTaskStrategy
参数
2. 在run_worker.sh
添加jvm参数 virtualNode
3. 重复上面的1和2步骤多个Worker,然后启动
4. 看到多个Worker正常运行,请求http://localhost:8081/getClusterInfo,看到如下信息说明集群启动成功。
一个机器上运行多个runtime(方便测试使用)
多个机器,每个机器部署一个runtime