消息中间件集群的作用及基础知识

一、作用

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的实现原理:

消息中间件集群的作用及基础知识


高可用和负载均衡的兼顾实现:

消息中间件集群的作用及基础知识