docker-compose 构建rabbitmq集群

本文将详细介绍如何使用 Docker Compose 安装 RabbitMQ 集群,并进行功能验证。我们将搭建一个包含三个节点的 RabbitMQ 集群,以实现高可用性和负载均衡。

一、准备工作

  1. 安装 Docker 和 Docker Compose:请确保您的服务器上已经安装了 Docker 和 Docker Compose。如果尚未安装,请参考 Docker 官方文档进行安装。
  2. 创建工作目录:在服务器上创建一个目录,用于存放 RabbitMQ 的配置文件和 Docker Compose 文件。例如,我们创建一个名为 rabbitmq_cluster 的目录。

二、配置 Docker Compose 文件

进入 rabbitmq_cluster 目录,并创建一个名为 docker-compose.yml 的文件。在该文件中,我们将定义 RabbitMQ 集群的配置。

version: '3'
services:
  rabbitmq1:
    image: rabbitmq:3-management
    hostname: rabbitmq1
    ports:
      - "5672:5672"
      - "15672:15672"
    environment:
      - RABBITMQ_ERLANG_COOKIE=secret_cookie
      - RABBITMQ_NODE_PORT=5672
      - RABBITMQ_NODENAME=rabbit@rabbitmq1
    volumes:
      - ./rabbitmq.config:/etc/rabbitmq/rabbitmq.config
      - ./enabled_plugins:/etc/rabbitmq/enabled_plugins
  rabbitmq2:
    image: rabbitmq:3-management
    hostname: rabbitmq2
    links:
      - rabbitmq1
    environment:
      - RABBITMQ_ERLANG_COOKIE=secret_cookie
      - RABBITMQ_NODE_PORT=5672
      - RABBITMQ_NODENAME=rabbit@rabbitmq2
      - RABBITMQ_CLUSTERED=true
      - RABBITMQ_CLUSTER_WITH=rabbit@rabbitmq1
    volumes:
      - ./rabbitmq.config:/etc/rabbitmq/rabbitmq.config
      - ./enabled_plugins:/etc/rabbitmq/enabled_plugins
  rabbitmq3:
    image: rabbitmq:3-management
    hostname: rabbitmq3
    links:
      - rabbitmq1
    environment:
      - RABBITMQ_ERLANG_COOKIE=secret_cookie
      - RABBITMQ_NODE_PORT=5672
      - RABBITMQ_NODENAME=rabbit@rabbitmq3
      - RABBITMQ_CLUSTERED=true
      - RABBITMQ_CLUSTER_WITH=rabbit@rabbitmq1
    volumes:
      - ./rabbitmq.config:/etc/rabbitmq/rabbitmq.config
      - ./enabled_plugins:/etc/rabbitmq/enabled_plugins

 

三、创建 RabbitMQ 配置文件和插件文件

在 rabbitmq_cluster 目录中创建以下两个文件:

rabbitmq.config:此文件用于配置 RabbitMQ 集群。
rabbitmq.config内容如下

[
  {rabbit, [
    {cluster_nodes, {['rabbit@rabbitmq1', 'rabbit@rabbitmq2', 'rabbit@rabbitmq3'], disc}}
  ]}
].

enabled_plugins:此文件用于启用 RabbitMQ 插件。
enabled_plugins:内容如下
[rabbitmq_management].

四、运行 Docker Compose 命令启动集群

在 rabbitmq_cluster 目录中运行以下命令启动 RabbitMQ 集群:

docker-compose up -d

五、验证 RabbitMQ 集群状态和功能

等待一段时间,让 RabbitMQ 节点之间完成自动集群。您可以通过访问 RabbitMQ 管理界面来验证集群状态和功能。在浏览器中输入 http://<YOUR_SERVER_IP>:15672,使用默认用户名 guest 和密码 guest 登录。在“Nodes”选项卡下,您应该能看到三个节点,并且它们的状态都是“running”。下面我们将进行一些功能验证:

  1. 创建队列:在“Queues”选项卡下,点击“Add a new queue”按钮,创建一个新的队列。输入队列名称并点击“Create”按钮。您应该能看到新创建的队列显示在列表中。这验证了集群的队列创建功能正常。
  2. 发布消息:在“Publish message”选项卡下,选择刚才创建的队列并输入一条消息内容。点击“Publish message”按钮发布消息。您应该能看到消息成功发布并被消费者接收的提示。这验证了集群的消息发布和消费功能正常。
  3. 扩展集群节点:您可以尝试添加更多的 RabbitMQ 节点到集群中,以扩展集群的规模和性能。通过编辑 docker-compose.yml 文件并添加新的服务定义,然后重新运行 docker-compose up -d 命令即可添加新的节点。这验证了集群的扩展性能力。
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值