-
什么是发布确认呢?
我们都知道rabbitMQ为了保证消息传递的可靠,可以在消费者和队列之间做一个持久化操作,就是消息被成功消费了,消费者就会通知队列,队列就会删除掉这条消息。那么由此产生了一个问题,如何保证消息可靠的进入队列中呢?
那么无非是在生产者和消息队列之间加一层和之前差不多的方式就可以了,生产者生产消息要得到消息队列的确认。以保证消息的可靠。
发布确认有三种方式 -
单个确认等待
每个消息发送之后都等待消息队列回复ack然后在继续发送,发布速度特别慢,这种方式最多提供每秒不超过数百条发布消息的吞吐量。特点是简单。

这是发布1000个队列的时间
public static void publicMessageIndividually() throws Exception{
Channel channel = RabbitMQUtils.getChannel();
String queueName = UUID.randomUUID().toString();
channel.queueDeclare(queueName, true, false, false, null);
channel.confirmSelect();
long begin = System.currentTimeMillis();
for (int i = 0; i < MESSAGE_COUNT; i++) {

本文介绍了RabbitMQ的发布确认机制,确保消息可靠地进入队列。重点讨论了异步确认方式,它是通过回调函数实现消息的可靠性传递,提供高效率和可靠性。在异步确认中,消息发送后无需等待ACK即可批量发送,由单独线程监听确认状态,以提高吞吐量。
最低0.47元/天 解锁文章
2158

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



