Files
compose-anything/src/rocketmq/README.zh.md
Sun-ZhenXing ece59b42bf Add environment configuration and documentation for various services
- Created .env.example files for Kafka, Kibana, KodBox, Kong, Langfuse, Logstash, n8n, Nginx, OceanBase, OpenCoze, RocketMQ, TiDB, and TiKV.
- Added README.md and README.zh.md files for OceanBase, RocketMQ, TiDB, and TiKV, detailing usage, configuration, and access instructions.
- Implemented docker-compose.yaml files for OceanBase, RocketMQ, TiDB, and TiKV, defining service configurations, health checks, and resource limits.
- Included broker.conf for RocketMQ to specify broker settings.
- Established a consistent timezone (UTC) across all services.
- Provided optional port overrides in .env.example files for flexibility in deployment.
2025-10-22 11:46:50 +08:00

2.1 KiB
Raw Blame History

RocketMQ

Apache RocketMQ 是一个分布式消息和流平台,具有低延迟、高性能和可靠性,万亿级容量和灵活的可扩展性。

使用方法

docker compose up -d

组件说明

此配置包含:

  • NameServer:管理 Broker 路由信息
  • Broker:存储和传递消息
  • Dashboard:监控和管理的 Web UI

配置说明

Broker 配置在 broker.conf 文件中,主要设置:

  • brokerClusterName:集群名称
  • brokerNameBroker 名称
  • autoCreateTopicEnable:自动创建主题(默认启用)
  • flushDiskType:磁盘刷新策略(ASYNC_FLUSH 性能更好)

端口说明

  • 9876NameServer 端口
  • 10909Broker 监听端口fastRemotingServer
  • 10911Broker 端口remoting server
  • 10912Broker HA 端口
  • 8080Dashboard Web UI

访问方式

Dashboard

访问 RocketMQ Dashboardhttp://localhost:8080

命令行工具

执行管理命令:

# 列出集群
docker compose exec broker mqadmin clusterList -n namesrv:9876

# 列出主题
docker compose exec broker mqadmin topicList -n namesrv:9876

# 创建主题
docker compose exec broker mqadmin updateTopic -n namesrv:9876 -c DefaultCluster -t TestTopic

# 查询消息
docker compose exec broker mqadmin queryMsgById -n namesrv:9876 -i <messageId>

示例:发送和接收消息

# 发送消息
docker compose exec broker sh /home/rocketmq/rocketmq/bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

# 消费消息
docker compose exec broker sh /home/rocketmq/rocketmq/bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

客户端连接

配置 RocketMQ 客户端连接到:

  • NameServerlocalhost:9876

注意事项

  • 这是一个单主配置,适合开发环境
  • 生产环境建议使用多主或多主多从配置
  • 根据需要在 JAVA_OPT_EXT 中调整 JVM 堆大小
  • 数据持久化在命名卷中

参考资料