消息中间件必须提供ack()机制
ack()机制 = 当消费者消费完消息、并回送ack()后,消息中间件才能认为此消息已被成功消费。
无ack机制 = 消费端拿到消息后,中间件就认为消费端已成功处理
在“ACK机制”下,如果消费端在拿消息A后出异常或者当机,当它从异常或当机中恢复时,又于出错前没有回送ACK,消息中间件就会重发消息,消费端就有了一次补偿处理的机会。
在“无ACK机制”下,就没有补偿处理的机会,也就会造成数据的不一致。
发布时间: 2013-04-21 15:31:38 作者: rapoo
消息中间件必须提供ack()机制
ack()机制 = 当消费者消费完消息、并回送ack()后,消息中间件才能认为此消息已被成功消费。
无ack机制 = 消费端拿到消息后,中间件就认为消费端已成功处理
在“ACK机制”下,如果消费端在拿消息A后出异常或者当机,当它从异常或当机中恢复时,又于出错前没有回送ACK,消息中间件就会重发消息,消费端就有了一次补偿处理的机会。
在“无ACK机制”下,就没有补偿处理的机会,也就会造成数据的不一致。