Stone
Stone
这个问题,可能跟另一个有关。阿里云公网消费有缺陷。 https://github.com/NewLifeX/NewLife.RocketMQ/issues/77
经测试支持 Apache RocketMQ v5.3 ! v2.6.2024.1004 支持RocketMQ v5.3,在公网测试通过。默认内网broker地址替换为公网地址。https://github.com/NewLifeX/NewLife.RocketMQ/commit/006817ea918d48c83b2fb0f1318a8a3b339f9528
[improv]改进阿里云rocketmq对接。在过去两年时间里,阿里云rocketmq做了升级,导致某些指令兼容性没那么好,这里统一做兼… · NewLifeX/NewLife.RocketMQ@b7d0910 https://github.com/NewLifeX/NewLife.RocketMQ/commit/b7d0910676bd56144034943746809eacb8968001
RocketMQ的逻辑,先请求NameServer查询Topic所在Broker,然后直连Broker进行发布和消费。 然而阿里云的rocketmq在内网,再通过网关把NameServer和Broker暴露到公网。 昨晚经过测试,公网拉取到的Broker是经过映射的,不再是原始内网的broker地址,所以能发布。但是获取消费组状态(offset等)时,得到的偏移量挂在内网broker地址上,导致无法匹配。所以,公网消费理论上是有问题的,只能丢消息直接从最新消费,或者从最老消费。 而vpc内网,可以直接发布与消费。 我的测试是,内网正常,公网不正常。不明白为何跟你遇到的情况相反。 上图_queues为空,那是因为连上broker以后,还没有更新队列信息,服务端主动下发了一条消息,解析匹配时报错。该问题已修正,并不影响发布消费使用。
目前尚未支持rocketmq5.x。 你是第一个说明支持rocketmq5.x消费的用户。
> > 目前尚未支持rocketmq5.x。 你是第一个说明支持rocketmq5.x消费的用户。 > > 我看可以发消息,但是消费消息会有以下错误 > > 15:17:22.853 9 Y TP System.NullReferenceException: Object reference not set to an instance of an object. at NewLife.RocketMQ.Consumer.ConsumerStatesSpecialJsonHandler(Packet payload) at NewLife.RocketMQ.Consumer.InitOffsetAsync(CancellationToken cancellationToken)...
经测试支持 Apache RocketMQ v5.3 ! v2.6.2024.1004 支持RocketMQ v5.3,在公网测试通过。默认内网broker地址替换为公网地址。https://github.com/NewLifeX/NewLife.RocketMQ/commit/006817ea918d48c83b2fb0f1318a8a3b339f9528
问题已修复,并通过基础测试。 还请试用,有问题及时反馈。
代码生成器xcodetool.exe默认不支持可空类型,你可以通过模型文件的Nullable配置来打开
是这个开关,你的代码生成器xcodetool是最新版吗?可以下载最新版,或者拉取代码自己发布一个