宋子宪博客

java面试题:MQ消息异步如何确认发送成功

异步发送丢失消息的场景是:生产者设置UserAsyncSend=true,使用producer.send(msg)持续发送消息
由于消息不阻塞,生产者会认为所有send的消息均被成功发送至MQ
如果MQ突然宕机,此时生产者内存尚未发送至MQ的消息都会丢失

所以正确的异步发送办法需要回调接收

同步和异步发送的区别:
同步发送等send不阻塞就表示一定发送成功了
异步发送需要接收回执并由客户端再判断一次是否发送成功

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »