docker部署rocketmq服务

34 篇文章 0 订阅
前言

… …

特性
1.支持集群模型、负载均衡、水平扩展能力
2.亿级别消息堆积能力
3.采用零拷贝的原理,顺序写盘,随机读
4.底层通信框架采用Netty NIO
5.NameServer代替Zookeeper,实现服务寻址和服务协调
6.消息失败重试机制、消息可查询
7.强调集群无单点,可扩展,任意一点高可用,水平可扩展
部署
]# echo 'Asia/Shanghai' > /etc/timezone
]# mkdir -p /data/deploy/rocketmq/
]# cd /data/deploy/rocketmq/
rocketmq]# cat > docker-compose.yml <<-EOF
version: "3.5"
services:
  rocketmqsrv:
    image: apacherocketmq/rocketmq:4.5.0
    container_name: rocketmqsrv
    hostname: rocketmqsrv
    privileged: true
    user: root
    ports:
      - 9876:9876
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
      - /data/volume/rocketmq/rocketmqsrv/logs:/home/rocketmq/logs:Z
    command: sh mqnamesrv 
    restart: always
    tty: true

  rocketmqbroker:
    image: apacherocketmq/rocketmq:4.5.0
    container_name: rocketmqbroker
    hostname: rocketmqbroker
    privileged: true
    user: root
    ports:
      - 10909:10909
      - 10911:10911
      - 10912:10912
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
      - /data/volume/rocketmq/broker/logs:/home/rocketmq/logs:Z
      - /data/volume/rocketmq/broker/store:/home/rocketmq/store:Z
      - /data/deploy/rocketmq/broker.conf:/home/rocketmq/rocketmq-4.5.0/conf/broker.conf
    command: sh mqbroker -n rocketmqsrv:9876 -c ../conf/broker.conf
    depends_on:
      - rocketmqsrv
    restart: always
    tty: true

  rockermqconsole:
    image: apacherocketmq/rocketmq-console:2.0.0
    container_name: rockermqconsole
    hostname: rockermqconsole
    privileged: true
    user: root
    ports:
      - 30808:8080
    environment:
      - JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.1.10:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
    depends_on:
      - rocketmqsrv
    restart: always
    tty: true    
EOF
rocketmq]# cat > broker.conf <<-EOF
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
brokerIP1 = 192.168.1.10
EOF
rocketmq]# docker-compose up -d
测试rocketmq服务
测试部署服务的正常状态
rocketmq]# docker ps
CONTAINER ID   IMAGE                           COMMAND                  CREATED             STATUS             PORTS                                                                                                                                                   NAMES
fac152a5d2fd   apacherocketmq/rocketmq-console:2.0.0   "sh -c 'java $JAVA_O…"   3 minutes ago    Up 12 seconds    0.0.0.0:30808->8080/tcp, :::30808->8080/tcp
d3ec0b8dcef4   apacherocketmq/rocketmq:4.5.0   "sh mqbroker -n rock…"   14 seconds ago      Up 12 seconds      0.0.0.0:10909->10909/tcp, :::10909->10909/tcp, 9876/tcp, 0.0.0.0:10911-10912->10911-10912/tcp, :::10911-10912->10911-10912/tcp                          rocketmqbroker
82f5ddb8f27e   apacherocketmq/rocketmq:4.5.0   "sh mqnamesrv"           14 seconds ago      Up 13 seconds      10909/tcp, 0.0.0.0:9876->9876/tcp, :::9876->9876/tcp, 10911-10912/tcp 
rocketmq]# docker logs -f rocketmqsrv
... ...
The Name Server boot success. serializeType=JSON
rocketmq]# docker logs -f rocketmqbroker
The broker[broker-a, 172.31.0.3:10911] boot success. serializeType=JSON and name server is rocketmqsrv:9876

● rocketmq web ui
http://192.168.1.10:30808

测试部署rocketmq服务的生产者、消费者正常状态

● rocketmqsrv服务测试

rocketmq]# docker exec -it rocketmqsrv /bin/bash
[root@rocketmqsrv bin]# export NAMESRV_ADDR=localhost:9876
[root@rocketmqsrv bin]# sh tools.sh org.apache.rocketmq.example.quickstart.Producer
 SendResult [sendStatus=SEND_OK, msgId= ...

 [root@rocketmqsrv bin]# sh tools.sh org.apache.rocketmq.example.quickstart.Consumer
 ConsumeMessageThread_%d Receive New Messages: [MessageExt...

● rocketmqbroker服务测试(新开终端执行命令)

rocketmq]# docker exec -it rocketmqbroker /bin/bash
[root@rocketmqsrv bin]# export NAMESRV_ADDR=192.168.1.10:9876
[root@rocketmqsrv bin]# sh tools.sh org.apache.rocketmq.example.quickstart.Producer
 SendResult [sendStatus=SEND_OK, msgId= ...

 [root@rocketmqsrv bin]# sh tools.sh org.apache.rocketmq.example.quickstart.Consumer
 ConsumeMessageThread_%d Receive New Messages: [MessageExt...

结语
apache rockermq 官方文档
apacherocketmq官方镜像仓库
rocketmq-docker github

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值