消息中间件集群的作用及基础知识
一、作用
1、实现高可用,以排除单点故障引起的服务中断
2、实现负载均衡,以提升效率为更多客户提供服务
二、基础知识
1、集群方式
1.1 客户端集群:让多个消费者消费同一个队列
ActiveMQ失效转移(failover):允许当其中一台消息服务器宕机时,客户端在传输层上重新连接到其他消息服务器。
语法:failover:(uri1...uriN)?transportOptions;括号里面的代表消息服务器的地址,transportOptions参数说明:
randomize:默认未true,表示在uri列表中选择URI连接时是否采用随机策略
initialReconnectDelay:默认为10,单位毫秒,表示第一次尝试重连之间等待的时间
maxReconnectDelay:默认30000,单位毫秒,最长重连的时间间隔
1.2 Broker clusters:多个broker之间同步消息,实现负载均衡而不高可用
实现原理:多个节点之间消息同步,消费者在任一节点可以获取消息
实现方式:NetworkConnector(网络连接器),其主要用于配置ActiveMQ服务器与服务器之间的网络通讯方式,用于服务器透传消息;
连接方式分为静态连接和动态连接。
静态连接:其配置如下:
动态连接:其配置如下:
1.3 Master Slave:实现高可用而不负载均衡
共享存储集群的原理:
NodeA挂了之后:
基于复制的LevelDB Store的实现原理:
高可用和负载均衡的兼顾实现: