RocketMQ 里使用remoting协议的java客户端连接rocketmq5.0的proxy是可以的吗?我看代理默认的remoting端口是8080,grpc端口是8081.我使用remoting协议的java客户端链接8080端口的时候提示报错怎么办?。而且不是有默认的remoting端口么?
RocketMQ 5.0版本默认使用的是gRPC协议,而不是remoting协议。因此,使用remoting协议的Java客户端连接RocketMQ 5.0的proxy是不支持的。
如果您想使用remoting协议连接RocketMQ 5.0的proxy,您需要修改RocketMQ的配置文件,将代理的协议从gRPC更改为remoting。具体步骤如下:
broker.conf
。# The protocol of broker communication, support inmemory, remoting and grpc
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=0
listenPort=10911
storePathRootDir=/home/rocketmq/store
storePathCommitLog=/home/rocketmq/store/commitlog
flushDiskType=ASYNC_FLUSH
flushIntervalCommitLog=1000
messageStorePlugIn=org.apache.rocketmq.store.DefaultMessageStore
# Message Transfer Mechanism, support inmemory and remoting transfer
messageTransferMechanism=nettyTransfer
# Name Server Address List, support multiple addresses separated by comma
namesrvAddr=localhost:9876
messageTransferMechanism
的值从nettyTransfer
更改为remotingTransfer
。修改后的配置应该如下所示:# The protocol of broker communication, support inmemory, remoting and grpc
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=0
listenPort=10911
storePathRootDir=/home/rocketmq/store
storePathCommitLog=/home/rocketmq/store/commitlog
flushDiskType=ASYNC_FLUSH
flushIntervalCommitLog=1000
messageStorePlugIn=org.apache.rocketmq.store.DefaultMessageStore
# Message Transfer Mechanism, support inmemory and remoting transfer
messageTransferMechanism=remotingTransfer
# Name Server Address List, support multiple addresses separated by comma
namesrvAddr=localhost:9876
请注意,使用remoting协议连接RocketMQ的代理可能会存在一些限制和不兼容性问题。建议您在生产环境中使用RocketMQ提供的gRPC协议进行通信。
参考这个:
https://github.com/apache/rocketmq/wiki/RIP
。-55-Support-remoting-protocol-in-rocketmq-proxy-module 。此回答来自钉群群2-Apache RocketMQ 中国开发者钉钉群。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/