消息可靠性
引入问题
从publisher到exchange交换机可能丢失;
从exchange交换机到队列queue可能丢失;
从队列queue到consumer可能丢失;
解决方案
生产者消息确认
publisher confirm机制
publisher-confirm发送者确认
消息发送之后,返回一条消息到发送者;
消息成功投递到交换机,返回ack;
消息未投递到交换机,返回nack;
publish-renturn发送者回执
消息投递到交换机,但没有路由到队列,返回ack,及路由失败原因;
publisher.yml中的配置
CommonConfig配置输出日志
测试
准备CorrelationData,判断结果
发送到交换机,没有到达队列
没有到达交换机
消息持久化
默认创建交换机和队列都是持久化
消费者消息确认
消费者处理信息之后向MQ发送ACK,收到回执后才会删除信息;
推荐使用auto