MQ如何保证高可用,如果挂了怎么办?

336 阅读1分钟

RabbitMQ 的高可用性

rabbitMq 有三种模式:单机模式,普通集群模式,镜像集群模式

1)单机模式

就是demo级别的,一般就是你本地启动玩玩儿的,没人生成模式用单机模式

2)普通集群模式

意思就是在多台机器上启动多个rabbitmq实例,每个机器启动一个,但是你创建的quequ, 只会放在一个rabbitmq实例上,但是没一个实例都同步queue的元数据。完了你消费的时候, 实际上如果连接到另外一个实例,那么那个实例会从queue 所在实例上拉去数据过来。 这种方式确实很麻烦,也不怎么会,没做到所谓的分布式,就是一个普通集群。以为这导致你要么消费者每次随机连接一个实例然后拉取数据,要么固定连接那个queue所在的实例消费数据,前者有数据拉取的开销,后者到时单实例性能瓶颈。

image.png 3)RabbitMQ 的镜像集群模式

image.png