问题一:RocketMQ 里有多台nameserver 是不是设计上有缺陷?
RocketMQ 里有多台nameserver 只要一台nameserver机器ip不存在了,发送端和消费端就无法启动了,但是ip存在端口不在还是可以启动成功的,我们看了一下源码的确如此,是不是设计上有缺陷?
参考答案:
检查客户端配置。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/590778
问题二:RocketMQ 里之前的延时消息未到时间是这样写的这样会不会有延时呢?
RocketMQ 里之前的延时消息未到时间是这样写的
ScheduleMessageService.this.timer.schedule(
new DeliverDelayedMessageTimerTask(this.delayLevel, nextOffset),
countdown);
现在变成了scheduleNextTimerTask(nextOffset, DELAY_FOR_A_WHILE);
这样会不会有延时呢?
参考答案:
是的,使用新的scheduleNextTimerTask
方法可以确保消息得到正确的延时处理。在旧的方法中,使用了countdown
参数来控制延时时间,而在新的方法中,使用了DELAY_FOR_A_WHILE
常量作为延时时间。
通过这种方式,RocketMQ会将消息发送到指定的延迟级别(this.delayLevel
),并使用nextOffset
作为下一次调度的时间戳。如果当前时间超过了DELAY_FOR_A_WHILE
所设定的延时时间,那么消息将会被立即发送出去。否则,消息将会在下一次调度时被发送出去。
因此,使用新的scheduleNextTimerTask
方法可以确保消息得到正确的延时处理,并且能够避免因为countdown
参数设置不当而导致的消息丢失问题。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/590777
问题三:RocketMQ 里是否有php的相关代码啊?
RocketMQ 里是否有php的相关代码啊?
参考答案:
参考:
https://github.com/apache/rocketmq-clients/tree/master/php
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/590776
问题四:RocketMQ 里有没有关于broker端延时消息设置的配置参数说明?
RocketMQ 里有没有关于broker端延时消息设置的配置参数说明?5.0.0版本,broker设置timerPrecisionMs参数没作用啊?
参考答案:
4.x的有延迟消息, 可以配置 messageDelayLevel 这种。 5.x有定时消息, 配置更多了。 网上可以搜搜看看。 这个是精度, 可以设置大点看看。如果想要延迟更小的话,支持固定精度:100, 200, 500, 1000
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/590775
问题五:RocketMQ中,远程代码执行漏洞jar包的安全漏洞都修复完了没?
RocketMQ中,远程代码执行漏洞(CVE-2023-37582),rocketmq-namesrv-x.x.x.jar包的安全漏洞都修复完了没?
参考答案:
关于RocketMQ Dashboard的安全漏洞,据我了解,Apache RocketMQ已经发布了相关的安全修复更新。对于远程代码执行漏洞(CVE-2023-37582),受影响的用户建议升级到Apache RocketMQ 5.1.1或者4.9.6版本以进行修复。
此外,RocketMQ中NameServer服务器存在文件上传漏洞,此漏洞由于文件路径及后缀可控、文件内容可控而形成。在修复这个漏洞的过程中,需要同时考虑到权限验证的问题,避免攻击者利用该漏洞以RocketMQ运行的系统用户身份执行命令。
总的来说,虽然RocketMQ曾经出现过一些安全漏洞,但是官方已经积极采取措施进行修复,并且给出了相应的版本升级建议。作为用户,我们应当及时关注并采取相应的措施来保证系统的安全性。
关于本问题的更多回答可点击进行查看: