有两种情况消息会丢,一,单条消息的内容过大,超出允许范围,二,太长时间没有处理。
有种配置下,只要你当时消费者不在线,都不会发消息给你的
而且还和你配置的topic相关
tcp连接不会因为不稳定导致丢数据,丢包会重发的,没收到ack都需要重发,除非你网络彻底嗝屁了
是不是消息处理接收部分给丢失的啊。一般来说,MQ是不应该有消息丢失的
4、个人觉得 更稳妥的做法 是完成事物操作的当中 在当前应用的数据库中 插入一个消息记录 [和业务同一个事务]
然后在发到 mq,就算丢失 也可以检验。
5、kafka默认单条内容小于2M超了就会被拒绝接收。也不一定小于 2M 0.9 版本就改善了
本文探讨了消息系统中消息丢失的两种常见情况:单条消息过大及长时间未处理。此外,还介绍了特定配置下消费者不在线时消息发送的机制,并讨论了TCP连接稳定性对消息传递的影响。文章进一步提出了通过本地数据库记录消息来确保消息完整性的建议。
172万+

被折叠的 条评论
为什么被折叠?



