Kafka可靠数据传递

一、 可靠性保证

Kafka到底在什么情况下才能保证消息不丢失呢?

一句话概括,Kafka 只对“已提交”的消息(committed message)做有限度的持久化保证。

Kafka 的可靠性保证:

  • Kafka 可以保证分区消息的顺序。
  • 只有当消息被写入分区的若干同步副本时,才被认为是已提交的。为什么是若干个 Broker 呢?这取决于你对“已提交”的定义。你可以选择只要 Leader 成功保存该消息就算是已提交,也可以是令所有 Broker 都成功保存该消息才算是已提交。
  • 只要还有一个副本是存活的,那么已提交的消息就不会丢失。
  • 消费者只能读取已提交的消息。

二、复制

kafka 的复制机制和分区的多副本架构是 kafka 可靠性保证的核心。

Kafka 的主题被分为多个分区,分区时基本的数据块。每个分区可以有多个副本,其中一个是首领。所有事件都直接发送给主副本,或者直接从主副本读取事件。其他副本只需要与首领保持同步,并即时复制最新的事件。当主副本不可用时,其中一个同步副本将成为新的主副本。

三、Broker 的可靠性

broker 有 3 个配置参数会影响 Kafka 消息存储的可靠性。

复制系数

replication.factor的作用是设置每个分区的副本数。replication.factor是主题级别配置;
default.replication.factor是 broker 级别配置。

副本数越多,数据可靠性越高;但由于副本数增多,也会增加同

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值