kafka一致性语义保证

一、消息传递语义:三种,至少一次,至多一次,精确一次

1、at lest once:消息不丢,但可能重复

2、at most once:消息会丢,但不会重复

3、Exactly Once:消息不丢,也不重复。

二、数据一致性保证:保证消息不丢、消息不重复

消息不丢:副本机制+ack,可以保证消息不丢。

数据重复:brocker保存了消息之后,在发送ack之前宕机了,producer认为消息没有发送成功进行重试,导致数据重复。

数据乱序:前一条消息发送失败,后一条消息发送成功,前一条又重试,成功了,导致数据乱序。

三、消息一致性保证:主要就是保证Exactly Once,即:数据不丢、数据不重复

1、0.11之前的kafka版本:保证消息丢,要在消息发送端和消费端都要进行保证。

(1)

猜你喜欢

转载自www.cnblogs.com/guoyu1/p/12023264.html