0
点赞
收藏
分享

微信扫一扫

RabbitMQ集群

大漠雪关山月 2022-02-13 阅读 48

RabbitMq集群

上一节我们讲了通过手动确认保证了消息的可靠性。本文将介绍通过安装RabbitMQ集群来保证RabbitMQ高可用(镜像集群)。

文章目录

一、普通集群

部署多个rabbitmq实例,多个实例互相通信。 优点:提供了消息的吞吐量。 缺点:无法保证高可用。

$ docker network create  rabbit_net
ccdaf0a7e5c31a0f42ac0ad87075285c035b7bc9a067dcd3365ce46e9ee81cf1

$ docker run -d --hostname rabbit01 --name  mq01  -p 5673:5672  -p  15673:15672  --network rabbit_net  -e RABBITMQ_ERLANG_COOKIE="mq_cookie"  rabbitmq:3-management
3cbd4ccb3c670967a65cb22b5ba7f343162dc4b2391e32379229fcfb9e67c1a0

$ docker run -d --hostname rabbit02 --name  mq02  -p 5674:5672  -p  15674:15672  --network rabbit_net  -e RABBITMQ_ERLANG_COOKIE="mq_cookie"  rabbitmq:3-management
55f96bfd213182dcf5eefbe14173a09346d96b4030a07bd0484a00ac4cb11553

$ docker run -d --hostname rabbit03 --name  mq03  -p 5675:5672  -p  15675:15672  --network rabbit_net  -e RABBITMQ_ERLANG_COOKIE="mq_cookie"  rabbitmq:3-management
74e8cad5bb84d8fb70cbf531764a7f74d026dae2b2d786536e466573290c86dc

以rabbit01作为主节点将其他两条加入集群(依次进入rabbit02和rabbit03执行)

 rabbitmqctl stop_app
 rabbitmqctl join_cluster rabbit@rabbit01
 rabbitmqctl start_app

查看集群节点状态
在这里插入图片描述

配置连接方式

spring:
  rabbitmq:
    addresses: localhost:5673,localhost:5674,localhost:5675
    username: guest
    password: guest

二、镜像集群

数据存储在多台RabbitMQ服务上,每次写入数据都会自动将消息同步到其他实例。
镜像集群的配置只需要在之前普通集群的基础上配置一个Policies即可。 在任意一台节点上配置后,其它两台节点同步。
在这里插入图片描述


举报

相关推荐

0 条评论