RocketMQ 入门 - 单 master 模式

RocketMQ 入门

what is rocketMQ:RocketMQ 是阿里开源的一款高性能、高吞吐量的分布式消息中间件。使用 RocketMQ 可以建立可靠的同步,异步和单向的消息传送。

RocketMQ 概念学习参看博文:十分钟入门RocketMQ,以及 官方文档

rocketMQ 架构图:

实践

环境搭建可参考:linux下搭建rocketmq

在 linux 系统中启动

重点说下 broker 的配置问题和启动,假设 name server 和 broker 都部署在同一台服务器上,broker 采用单 master 模式。假设服务器 IP 为 ...,我的 broker 的配置文件如下:

../../target/apache-rocketmq/conf
broker-test.conf

brokerClusterName = duan-cluster-test
brokerName = broker-test
brokerId = 0

brokerPort=10911

# 多网卡时指定 IP
brokerIP1=*.*.*.*

# NameServer地址列表,多个nameServer地址用分号隔开
namesrvAddr=*.*.*.*:9876

storePathRootDir = /data/rocketmq/store
storePathCommitLog = /data/rocketmq/store/commitlog
autoCreateTopicEnable = true
autoCreateSubscriptionGroup = true

deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH

配置好后先启动 name server,后启动 broker,注意在 broker 启动命令中指定配置文件:
nohup bin/mqbroker -c ./conf/broker-test.conf &>
/data/rocketmq/logs/mqbroker.log &

成功启动后再日志中可看到 success 字样。
tail -f ~/logs/rocketmqlogs/broker.log
tail -f ~/logs/rocketmqlogs/namesrv.log

除了 broker 和 master 外 还会有一个 HAserver,该服务用于同步 master 和 slave 间 的数据。

spring-boot 项目学习 api 的简单使用

maven 依赖如下
这里写图片描述

测试用的配置文件

配置文件采用 yml 格式

rocketmq:
  nameSrv:
    address: *.*.*.*:9876
  producer:
    group:
      test: rkmq-pro-group-one
  consumer:
    group:
      test: rkmq-con-group-test
  topic:
    test: rkmq-topic-test
  tag:
    test: rkmq-tag-test
编写代码

父类
这里写图片描述

消息生产者

这里写图片描述

消息消费者

这里写图片描述

消息消费回调

这里写图片描述

测试

用来测试的 bean
这里写图片描述

controller
这里写图片描述

通过 url 传递不同的参数来测试。

测试 url:http://localhost:8080/3?obj=数据来了

控制台输出:

数据来了 0
数据来了 1
msg received 数据来了
数据来了 2
msg received 数据来了
msg received 数据来了

rocketMQ-console:
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

可视化控制台可在这里获得 rocketMQ-console

猜你喜欢

转载自blog.csdn.net/aimeimeits/article/details/80111666