【发布时间】:2018-05-11 21:50:37
【问题描述】:
网络可能会以不太明显的方式出现故障,并且检测某些故障需要时间。因此,将协议帧或一组帧(例如发布的消息)写入其套接字的客户端不能假定消息已到达服务器并已成功处理。它可能会在途中丢失,或者它的交付可能会大大延迟。
使用标准 AMQP 0-9-1,保证消息不丢失的唯一方法是使用事务 -- 使通道具有事务性,然后为每条消息或一组消息发布、提交。
我想知道为什么需要发布确认或事务来防止生产者发布的消息丢失。
如果amqp "basic.publish"调用成功,api返回ok,为什么消息还可能丢失?
【问题讨论】:
标签: rabbitmq