dotnetcore / CAP

Distributed transaction solution in micro-service base on eventually consistency, also an eventbus with Outbox pattern
http://cap.dotnetcore.xyz
MIT License
6.68k stars 1.28k forks source link

Question about consumer not received message #1483

Closed haoyk closed 9 months ago

haoyk commented 9 months ago

你好,生产环境延迟队列出现了两次消息丢失问题,每次丢失都是一批数据。

版本及环境如下: .netcore 7.0 cap7.1.4 mysql8.0.22

发布消息代码: ... await CapPublisher.PublishDelayAsync(TimeSpan.FromMinutes(10), key, data); await uow.CompleteAsync(); ...

cap.published表中能查询到丢失消息记录,StatusName是Succeeded,看状态应该是被正常消费掉了。 但我自己的Subscriber程序并没有输出任何日志,且cap.received表中没有找到与cap.published表相同的cap-msg-id。

正常情况应该会在cap.received有条记录,到这儿线索就断了不知道从何排查起因,对于我这种情况还请作者能指导下思路!

yang-xiaodong commented 9 months ago

For such issues, unless you can reproduce them, you will need to investigate the reasons why messages were not received from the Broker yourself. This is because I do not know the type of your Broker, your server logs, the details of your deployment environment, or whether there have been any restarts or crashes involving the database, Broker, server, etc.