rocketmq 消费者不能调用其他服务_Spring Cloud Alibaba RocketMQ - 构建异步通信的微服务...

本文档详细介绍了如何在CentOS 7上搭建RocketMQ 4.5.1版本,包括Name Server和Broker的启动与验证。同时,讨论了RocketMQ的生产者和消费者示例,以及如何通过Spring消息编程模型进行集成。最后,提到了RocketMQ的事务消息特性和可能遇到的日志问题。
摘要由CSDN通过智能技术生成

引入MQ后的架构演进

c0a35fe0143f3d48fc1b2eff7aab733f.png

MQ的选择

消息队列对比参照表:

f817066b2fa87134c3c06f18402281ee.png

RocketMQ vs. ActiveMQ vs. Kafka:

76cc0c27d0106202b89a39a5155bf2d7.png

参考至:

CentOS7上搭建RocketMQ

环境要求:

CentOS 7.2

64位JDK1.8+

4G+的可用磁盘空间

1、下载RocketMQ的二进制包,我这里使用的是4.5.1版本,下载地址如下:

使用wget命令下载:

[root@study-01 ~]# cd /usr/local/src

[root@study-01 /usr/local/src]# wget http://mirror.bit.edu.cn/apache/rocketmq/4.5.1/rocketmq-all-4.5.1-bin-release.zip

2、解压下载好的压缩包,并移动到合适的目录下:

[root@study-01 /usr/local/src]# unzip rocketmq-all-4.5.1-bin-release.zip

[root@study-01 /usr/local/src]# mv rocketmq-all-4.5.1-bin-release /usr/local/rocketmq-4.5.1

注:若没有安装unzip命令则使用如下命令安装:

yum install -y unzip

3、进入rocketmq的根目录并查看是否包含如下目录及文件:

[root@study-01 /usr/local/src]# cd /usr/local/rocketmq-4.5.1

[root@study-01 /usr/local/rocketmq-4.5.1]# ls

benchmark bin conf lib LICENSE NOTICE README.md

4、没问题后,使用如下命令启动Name Server:

[root@study-01 /usr/local/rocketmq-4.5.1]# nohup sh bin/mqnamesrv &

[1] 2448

[root@study-01 /usr/local/rocketmq-4.5.1]#

5、查看默认的9876端口是否被监听,以验证Name Server是否启动成功:

[root@study-01 /usr/local/rocketmq-4.5.1]# netstat -lntp |grep java

tcp6 0 0 :::9876 :::* LISTEN 2454/java

[root@study-01 /usr/local/rocketmq-4.5.1]#

6、启动Broker:

[root@study-01 /usr/local/rocketmq-4.5.1]# nohup sh bin/mqbroker -n localhost:9876 &

[2] 2485

[root@study-01 /usr/local/rocketmq-4.5.1]#

7、验证Broker是否启动成功,如果启动成功,能看到类似如下的日志::

[root@study-01 /usr/local/rocketmq-4.5.1]# cat ~/logs/rocketmqlogs/broker.log |grep "boot success"

2019-08-04 01:27:38 INFO main - The broker[study-01, 192.168.190.129:10911] boot success. serializeType=JSON and name server is localhost:9876

[root@study-01 /usr/local/rocketmq-4.5.1]#

若想停止Name Server和Broker,则依次执行以下两条命令即可:

[root@study-01 /usr/local/rocketmq-4.5.1]# sh bin/mqshutdown broker

The mqbroker(2492) is running...

Send shutdown request to mqbroker(2492) OK # 输出该信息说明停止成功

[root@study-01 /usr/local/rocketmq-4.5.1]# sh bin/mqshutdown namesrv

The mqnamesrv(2454) is running...

Send shutdown request to mqnamesrv(2454) OK # 输出该信息说明停止成功

[2]+ 退出 143 nohup sh bin/mqbroker -n localhost:9876

[root@study-01 /usr/local/rocketmq-4.5.1]#

验证RocketMQ功能是否正常

1、验证生产消息正常,执行如下命令:

[root@study-01 /usr/local/rocketmq-4.5.1]# export NAMESRV_ADDR=localhost:9876

[root@study-01 /usr/local/rocketmq-4.5.1]# sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer

正常的情况下,会看到一堆的类似于如下的输出,这是生产消息后成功的result:

SendResult [sendStatus=SEND_OK, msgId=C0A8BE810A690D7163610FCC253B03E7, offsetMsgId=C0A8BE8100002A9F000000000002BDFE, messageQueue=MessageQueue [topic=TopicTest, brokerName=study-01, queueId=3], queueOffset=249]

2、验证消费消息正常,执行如下命令:

[root@study-01 /usr/local/rocketmq-4.5.1]# sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer

正常的情况下,会看到一堆的类似于如下的输出,这是消费的消息内容:

ConsumeMessageThread_6 Receive New Messages: [MessageExt [queueId=3, storeSize=180, queueOffset=242, sysFlag=0, bornTimestamp=1564853837073, bornHost=/192.168.190.129:34708, storeTimestamp=1564853837074, storeHost=/192.168.190.129:10911, msgId=C0A8BE8100002A9F000000000002AA4E, commitLogOffset

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值