今天我经历了一些我觉得很有趣的事情。我收到了一批未确认的消息,这些消息都在同一秒内发布,出于预期的原因,其中一条消息未被确认。然而,剩余的消息仍在尝试传递,并且正在成功处理和确认。
为什么会发生这种情况?这是预期的行为吗?消息没有排序键,也没有在给定订阅上启用消息排序。
此外,我甚至试图在谷歌云中手动确认这些消息,但似乎没有任何作用。当我确认后停车时,同样的信息出现了。
您可能遇到了"处理副本";部分。如果消息是一起批处理的,则必须确认批处理中的所有消息,否则可能会重新传递整批消息。这意味着,如果在单个发布请求中将100条消息分批在一起,并且其中99条消息得到了确认,但1条消息没有得到确认,则所有100条消息都可以重新发送。在服务中,有一些努力尽可能避免这种重复交付,但这并不能保证。