kafka一致性语义保证

让人想犯罪 __ 提交于 2019-12-11 16:30:25

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

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

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

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

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

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

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

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

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

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

(1)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!