问题一:RocketMQ中broker开启proxy,启动之后,是需要什么配置 ?
RocketMQ中broker开启proxy,启动之后,producer生产消息始终都只到一个broker,是需要什么配置 ?
参考答案:
grpc 的producer需要配置全部的proxy地址, broker不用管。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/606304
问题二:RocketMQ为什么正常启动容器后在本地能通过127.0.0.1+端口号的方式访问容器呢?
RocketMQ中mac上安装docker后启动docker服务docker是没有创建默认的docker0虚拟网桥,mac宿主机无法ping通docker分配给容器的ip,那为什么正常启动容器后在本地能通过127.0.0.1+端口号的方式访问容器呢?
参考答案:
在Mac上使用Docker时,Docker不是通过传统的docker0
虚拟网桥与宿主机进行通信的。在Mac上,Docker Desktop使用HyperKit虚拟化技术以及一个名为docker.for.mac.localhost
或host.docker.internal
的特殊DNS条目来实现宿主机与容器之间的网络通信。
当您在Mac上运行Docker容器,并且容器中运行了一个Web服务监听在某个端口上,即使宿主机不能直接通过IP地址ping通容器,但由于Docker Desktop做了网络代理和端口映射,宿主机仍然可以通过localhost
或宿主机IP地址加上映射的端口来访问容器内部的服务。
这是因为Docker Desktop在后台配置了一种网络模式,允许容器对外发布的端口通过端口映射技术直接暴露给宿主机。例如,如果您在运行容器时指定了-p 8080:80
,这意味着容器内部的80端口被映射到了宿主机的8080端口,因此在宿主机上访问http://localhost:8080
就可以访问到容器内部运行的应用服务。
至于为何不能通过ping命令从宿主机直接ping通容器内部IP,是因为Docker在Mac上的网络配置与Linux下的传统bridge网络有所不同,它并不支持所有类型的网络通信,特别是在默认配置下,ICMP(ping命令)通常会被禁止。然而,这并不会影响通过TCP/IP协议栈进行的HTTP、HTTPS或其他服务端口的通信。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/606303
问题三:RocketMQ5.X grpc proxy心跳主题为啥只有消费者信息,没有生产者的?
RocketMQ5.X grpc proxy心跳主题为啥只有消费者信息,没有生产者的?DefaultHeartBeatSyncerTopic只有消费者的,没有生产者的
参考答案:
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/606302
问题四:RocketMQ 在不同的cluster下命名都要唯一吗?
RocketMQ中brokerName brokerClusterName 在不同的cluster下命名都要唯一吗,不同的brokerClusterName,相同brokerName,发现会造成路由混乱?
参考答案:
不行哦,有的信息是通过broker name作为key存储的
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/606301
问题五:RocketMQ5.x的服务端配置文档有没有啊,nameserv和broker的?
RocketMQ5.x的服务端配置文档有没有啊,nameserv和broker的?
参考答案:
https://rocketmq.apache.org/zh/docs/4.x/parameterConfiguration/02server/
测试备代理主模式,手动kill Broker-a主节点后,发现Broker-a从节点进行定时消息远程逃逸的时候,选取的主节点是手动kill的节点
如果TopicPublishInfo没有及时更新,是不是会选取到已经挂的主节点
关于本问题的更多回答可点击进行查看: