当前位置: 首页 > ops >正文

通过 Docker Compose 快速部署RocketMQ 服务

以下内容介绍了如何通过 Docker Compose 快速部署一个单节点、单副本的 RocketMQ 服务,并完成简单的消息发送和接收。Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过一个 YAML 文件 (docker-compose.yml) 来配置应用程序的服务,然后使用一个命令就可以启动所有服务。

分步解析

1. 编写 docker-compose.yml

以下是用于快速启动和运行 RocketMQ 集群的模板:

version: '3.8'
services:namesrv:image: apache/rocketmq:5.3.2container_name: rmqnamesrvports:- 9876:9876networks:- rocketmqcommand: sh mqnamesrvbroker:image: apache/rocketmq:5.3.2container_name: rmqbrokerports:- 10909:10909- 10911:10911- 10912:10912environment:- NAMESRV_ADDR=rmqnamesrv:9876depends_on:- namesrvnetworks:- rocketmqcommand: sh mqbrokerproxy:image: apache/rocketmq:5.3.2container_name: rmqproxynetworks:- rocketmqdepends_on:- broker- namesrvports:- 8080:8080- 8081:8081restart: on-failureenvironment:- NAMESRV_ADDR=rmqnamesrv:9876command: sh mqproxy
networks:rocketmq:driver: bridge
  • Namesrv:RocketMQ 的名称服务器(Name Server),负责维护主题路由信息。
  • Broker:消息队列服务的核心组件,负责存储消息并提供消息收发接口。
  • Proxy:作为代理层,提供给客户端接入使用,可以减轻 Broker 直接面对大量客户端的压力。
2. 启动 RocketMQ 集群

执行以下命令来根据 docker-compose.yml 文件启动所有定义的服务:

docker-compose up -d
  • -d 参数表示在后台运行容器。
3. 停止所有服务

当你完成测试或不再需要运行这些服务时,可以通过下面的命令停止并移除所有由 Docker Compose 管理的容器和服务:

docker-compose down

这将停止所有相关的容器并将它们从当前运行环境中移除,但不会删除已创建的数据卷和网络,除非特别指定。

总结

通过上述步骤,你可以非常方便地搭建一套基于 Docker 的 RocketMQ 环境,非常适合开发测试阶段使用。这种方式简化了手动部署每个组件的过程,并且通过 Docker Compose 可以很容易地管理整个应用生命周期,包括启动、停止和清理环境。这对于想要快速体验 RocketMQ 功能或是进行相关开发工作的开发者来说是非常有帮助的。

http://www.xdnf.cn/news/16684.html

相关文章:

  • openKylin 2.0 SP2揭秘 - 磐石架构:不变的核心,更好的体验
  • 从 MySQL 迁移到 TiDB:使用 SQL-Replay 工具进行真实线上流量回放测试 SOP
  • Video_1920×1080i 1920_1080p
  • 基于 BiLSTM+自注意力机制(改进双塔神经网络) 的短文本语义匹配
  • Kafka Streams性能优化实践指南:实时流处理与状态管理
  • ode with me是idea中用来干嘛的插件
  • 如何系统性了解程序
  • Mysql索引失效问题及其原因
  • 借助于llm将pdf转化为md文本
  • 深度解析领域特定语言(DSL)第七章:语法分析器组合子 - 用乐高思维构建解析器
  • Linux 计划任务管理
  • 【n8n】如何跟着AI学习n8n【03】:HTTPRequest节点、Webhook节点、SMTP节点、mysql节点
  • AI IDE+AI 辅助编程-生成的大纲-一般般
  • Visual Studio调试技巧与函数递归详解
  • mac环境配置rust
  • rabbitmq的安装和使用-windows版本
  • python基础语法3,组合数据类型(简单易上手的python语法教学)(课后习题)
  • 前端 vue 第三方工具包详解-小白版
  • 云原生环境 DDoS 防护:容器化架构下的流量管控与弹性应对
  • C++语言的发展历程、核心特性与学习指南
  • #C语言——刷题攻略:牛客编程入门训练(一):简单输出、基本类型
  • 量子安全:微算法科技(MLGO)基于比特币的非对称共识链算法引领数字经济未来
  • XPATH选择器常用语法
  • 磁盘坏道检测工具在美国服务器硬件维护中的使用规范
  • 云原生运维与混合云运维:如何选择及 Wisdom SSH 的应用
  • 从“碎片化”到“完美重组”:IP报文的分片艺术
  • 计算机视觉CS231n学习(1)
  • 网络编程学习
  • UE5保姆级新手教程第六章(角色互动)
  • python的异步、并发开发