【消息中间件】RocketMQ服务中的端口号

背景说明

场景一、 部署RocketMQ集群时,启动Broker报错:

org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to <192.168.xxx.xxx:30909> failed

场景二、一台服务器部署RocketMQ集群,Broker的监听端口配置连续时,启动其中一个Broker报错:
在这里插入图片描述

问题说明

场景一问题原因是:防火墙开启,端口未开放
场景二问题原因是:端口冲突,重复占用
由此引发的思考:
1)我们看到的配置只有listenPort这一个配置参数,为什么Broker启动后,却要占用2+呢?
2)我们做防火墙端口策略开放,需要开放哪几个端口呢?

端口说明

NameServer中的端口

namesrv仅使用了一个9876端口。
如果想修改默认端口,可以参考文章:修改RocketMQ的NameServer端口

RocketMQ-Console中的端口

rocketmq-console作为RocketMQ管理平台,也仅占用1个端口,修改方式有两种:
1)启动时,通过命令行参数server.port指定:

java -jar rocketmq-console-ng-2.0.0.jar --server.port=8080 --rocketmq.config.namesrvAddr=127.0.0.1:9876

2)下载RocketMQ-Externals源码,修改yaml文件中的server.port参数,再行打包即可:

cd rocketmq-console
vim src/main/resources/application.properties 
# 修改访问端口
server.port=8080

打包,启动即可:

mvn clean package -Dmaven.test.skip=true
java -jar rocketmq-console-ng-2.0.0.jar --rocketmq.config.namesrvAddr=127.0.0.1:9876

RocketMQ-Broker中的端口

listenPort

listenPort参数是broker的监听端口号,是remotingServer服务组件使用,作为对Producer和Consumer提供服务的端口号,默认为10911,可以通过配置文件修改。
打开broker-x.conf,修改或增加listenPort参数:

#Broker 对外服务的监听端口
listenPort=10911
fastListenPort

fastListenPort参数是fastRemotingServer服务组件使用,默认为listenPort - 2,可以通过配置文件修改。
打开broker-x.conf,修改或增加fastListenPort参数:

#主要用于slave同步master
fastListenPort=10909
haListenPort

haListenPort参数是HAService服务组件使用,用于Broker的主从同步,默认为listenPort - 1,可以通过配置文件修改。
打开broker-x.conf,修改或增加haListenPort参数:

#haService中使用
haListenPort=10912

其他

remotingServer和fastRemotingServer的区别:
Broker端: remotingServer可以处理客户端所有请求,如:生产者发送消息的请求,消费者拉取消息的请求。fastRemotingServer功能基本与remotingServer相同,唯一不同的是不可以处理消费者拉取消息的请求。Broker在向NameServer注册时,只会上报remotingServer监听的listenPort端口。

客户端: 默认情况下,生产者发送消息是请求fastRemotingServer,我们也可以通过配置让其请求remotingServer;消费者拉取消息只能请求remotingServer。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TechGenius

文章很值,请作者喝一杯咖啡吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值