ToB企服应用市场:ToB评测及商务社交产业平台

标题: 云原生之使用Docker部署RabbitMQ消息中间件 [打印本页]

作者: 冬雨财经    时间: 2024-9-5 19:35
标题: 云原生之使用Docker部署RabbitMQ消息中间件
一、RabbitMQ介绍

1.1 RabbitMQ简介

   RabbitMQ是使用Erlang语言来编写的,而且RabbitMQ是基于AMQP协议的。RabbitMQ是一个开源的消息代理的队列服务器,用来通过普通协议在完全差别的应用之间共享数据。
  1.2 RabbitMQ特点


1.3 RabbitMQ使用场景

   RabbitMQ是一个广泛使用的开源消息队列系统,它支持多种消息协议,此中AMQP(Advanced Message Queuing Protocol)是最常用的。以下是RabbitMQ的一些典型使用场景:
   二、检查Docker情况

2.1 检查Docker版本

   检查当前Docker版本
  1. [root@jeven ~]# docker -v
  2. Docker version 20.10.17, build 100c701
复制代码
2.2 检查操作系统版本

   检查服务器操作系统版本,当前实践情况为centos7.6情况。
  1. [root@jeven ~]# cat /etc/os-release
  2. NAME="CentOS Linux"
  3. VERSION="7 (Core)"
  4. ID="centos"
  5. ID_LIKE="rhel fedora"
  6. VERSION_ID="7"
  7. PRETTY_NAME="CentOS Linux 7 (Core)"
  8. ANSI_COLOR="0;31"
  9. CPE_NAME="cpe:/o:centos:centos:7"
  10. HOME_URL="https://www.centos.org/"
  11. BUG_REPORT_URL="https://bugs.centos.org/"
  12. CENTOS_MANTISBT_PROJECT="CentOS-7"
  13. CENTOS_MANTISBT_PROJECT_VERSION="7"
  14. REDHAT_SUPPORT_PRODUCT="centos"
  15. REDHAT_SUPPORT_PRODUCT_VERSION="7"
复制代码
2.3 检查Docker状态

   检查Docker状态,确保宿主机Docker服务正常。
  1. [root@jeven ~]# systemctl status docker
  2. ● docker.service - Docker Application Container Engine
  3.    Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
  4.    Active: active (running) since Sun 2024-05-12 08:34:14 CST; 1 day 10h ago
  5.      Docs: https://docs.docker.com
  6. Main PID: 11565 (dockerd)
  7.     Tasks: 28
  8.    Memory: 1.2G
  9.    CGroup: /system.slice/docker.service
复制代码
三、下载RabbitMQ镜像

   下载RabbitMQ镜像bitnami/rabbitmq,版本为latest。
  1. [root@jeven ~]#  docker pull bitnami/rabbitmq
  2. Using default tag: latest
  3. latest: Pulling from bitnami/rabbitmq
  4. 0796bf144e3f: Pull complete
  5. 0aa278e6d559: Pull complete
  6. f37134480d36: Pull complete
  7. 3ca5a05c65cf: Pull complete
  8. 88bb7bc42515: Pull complete
  9. d707818752e6: Pull complete
  10. b8a937a01956: Pull complete
  11. efb772451b7f: Pull complete
  12. db7fe513e59c: Pull complete
  13. 0d37a623156d: Pull complete
  14. 2e1d8d64104c: Pull complete
  15. 1bc67f22006e: Pull complete
  16. 891457114828: Pull complete
  17. 1161d96f1d40: Pull complete
  18. Digest: sha256:a45676c71cf551fe942245b7ae133f9fd09f6278bb53fa98e18a00cf6abdbd90
  19. Status: Downloaded newer image for bitnami/rabbitmq:latest
  20. docker.io/bitnami/rabbitmq:latest
复制代码
四、部署RabbitMQ服务

4.1创建挂载目次

   创建挂载目次 /data/rabbitmq/data
  1. mkdir -p /data/rabbitmq/data && cd /data/rabbitmq/
复制代码
  目次授权
  1. chmod -R 777 /data/rabbitmq/
复制代码
4.2 运行RabbitMQ容器

   使用docker-cli方式部署,可参考以下方式。
  1. docker run -d --name rabbitmq --restart always  -v /data/rabbitmq/data:/bitnami   -e RABBITMQ_USERNAME=admin -e RABBITMQ_PASSWORD=admin    -p 5672:5672 -p 15672:15672       bitnami/rabbitmq:latest
复制代码
  使用docker compose方式,可参考以下docker-compose.yaml部署文件。本次实践使用docker compose方式部署,可自界说映射端口和账号暗码登变量。
  1. version: '3'
  2. services:
  3.   rabbitmq:
  4.     image: bitnami/rabbitmq:latest
  5.     container_name: rabbitmq
  6.     restart: always
  7.     environment:
  8.       - RABBITMQ_USERNAME=admin
  9.       - RABBITMQ_PASSWORD=admin
  10.     ports:
  11.       - 5672:5672
  12.       - 15672:15672
  13.     volumes:
  14.       - /data/rabbitmq/data:/bitnami
复制代码
  使用以下命令,开始创建RabbitMQ容器。
  1. docker compose up -d
复制代码

4.3 查看RabbitMQ容器状态

   检查RabbitMQ容器状态,确保容器正常启动。
  1. [root@jeven rabbitmq]# docker compose ps
  2. NAME                COMMAND                  SERVICE             STATUS              PORTS
  3. rabbitmq            "/opt/bitnami/script…"   rabbitmq            running             0.0.0.0:5672->5672/tcp, 0.0.0.0:15672->15672/tcp, :::5672->5672/tcp, :::15672->15672/tcp
复制代码
4.4 检查RabbitMQ容器日志

   检查RabbitMQ容器日志,确保RabbitMQ服务正常运行,无严肃报错。
  1. docker compose logs
复制代码

五、访问RabbitMQ首页

5.1 进入RabbitMQ登录页

   浏览器访问:http://192.168.3.166:15672/,将IP替换为本身服务器IP地址。假如无法访问到该登录页,检查当地防火墙是否关闭大概放行相关端口,云服务器则还需要再设置安全组规则。
  

5.2 访问RabbitMQ首页

   输入我们设置的账号暗码:admin/admin,登录RabbitMQ。
  

六、总结

   使用Docker部署RabbitMQ极大地简化了安装与配置流程,通过简单的命令即可启动一个包罗管理插件的服务实例。容器化的RabbitMQ便于进行版本管理和横向扩展,同时支持数据长期化以制止消息丢失。别的,借助Docker Compose可以轻松地与其它微服务集成,形成稳固的消息转达架构。团体而言,这种方式提高了开发效率和系统的可维护性。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4