- 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.
2.1 KiB
2.1 KiB
RocketMQ
Apache RocketMQ 是一个分布式消息和流平台,具有低延迟、高性能和可靠性,万亿级容量和灵活的可扩展性。
使用方法
docker compose up -d
组件说明
此配置包含:
- NameServer:管理 Broker 路由信息
- Broker:存储和传递消息
- Dashboard:监控和管理的 Web UI
配置说明
Broker 配置在 broker.conf 文件中,主要设置:
brokerClusterName:集群名称brokerName:Broker 名称autoCreateTopicEnable:自动创建主题(默认启用)flushDiskType:磁盘刷新策略(ASYNC_FLUSH性能更好)
端口说明
9876:NameServer 端口10909:Broker 监听端口(fastRemotingServer)10911:Broker 端口(remoting server)10912:Broker HA 端口8080:Dashboard Web UI
访问方式
Dashboard
访问 RocketMQ Dashboard:http://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 客户端连接到:
- NameServer:
localhost:9876
注意事项
- 这是一个单主配置,适合开发环境
- 生产环境建议使用多主或多主多从配置
- 根据需要在
JAVA_OPT_EXT中调整 JVM 堆大小 - 数据持久化在命名卷中