最近项目需要试用消息队列作为中间件,解耦前后台程序,提升系统性能。经过一番研究后,选择了由阿里开源的RocketMQ(现在已经贡献到Apache基金会了),想着RocketMQ能作为能支撑阿里双十一活动的中间件,性能是不会有什么问题的,而且是纯Java开发部署比较方便,不需要另外安装其他语言支撑环境。
在搭建集群过程中,按照博客:rocketmq安装部署过程(4.0.0版本)中介绍的步骤准备配置文件,启动namesrv和broker、创建topic,使用mqadmin clusterList查看集群搭建状态,在踩了几个坑之后,把3master-3slave集群环境搭建完成(坑1:除了在上述指引博客的配置文件中提到要用到的9876端口、10911端口和10920端口,还需要开通10909和101918端口,当前还没有搞清楚几个端口具体作用,如果有大神知道请告知!!!坑2:配置文件中的配置项的名称被我写错了。。。导致在clusterList命令查看集群状态无法查看到设定好的broker名称)
集群环境搭建完成后,开始编写Producer和Consumer测试用例,测试程序编写完成后,实际运行时出现如下异常:
Startorg.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout
at org.apache.rocketmq.client.impl.producer.DefaultMQProd