您的位置:首页 > 其它

Kafka系列(23)Kafka副本机制详解

2019-08-16 14:27 316 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_18522601/article/details/99676834

所谓副本机制,也可称为备份机制,通常是指分布式系统在多台网络互联的机器上保存相同的数据拷贝。

副本机制的好处:

   1提供数据冗余,即使系统部分组件失效,系统依然能够继续运转,因此增加了整体可用性以及数据持久性

    2提供高伸缩性,支持横向扩展,能够通过增加机器的方式提升读能力,进而提高读操作通吐量

    3改善数据局部性,允许数据放入与用户地理位置相近的地方,从而降低系统延迟

 kafka 只能提供好处1 没能提供好处2和3

副本机制依然是kafka架构的核心所在,也是Kafka确保系统高可用和消费高持久性的重要基石

 

副本定义

   Kafka是有主题概念的,而每个主题又进一步划分为若干个分区,副本的概念实际上是在分区层级下定义的,每个分区配置有若干副本

  副本,本质是一个只能追加写消息的提交日志。

 

副本角色

    基于领导者的副本机制

Kafka的追随者副本是不对外提供服务的,因此Kafka没能提供横向扩展以及改善局部性。

 这种实现的原因

  1方便实现 read-your-writes

  2 方便实现单调读 Monotonic reads  如果所有的读请求都由Leader来处理,那么Kafka就很容易实现单调读一致性

 

In-sync Replicas (ISR)   所有与Leader同步的副本

Kafka要明确告诉我们,追随者副本到底在什么条件下才算与Leader同步

 

 

       Kafka判断Follower 副本是否与Leader副本同步的标准,不是看相差的消息数,而是另有玄机

      这个标准是Broker端参数replica.lag.times.max.mx 这个参数的含义是Follower 副本能够落后Leader副本的最长时间间隔,默认是10秒

 

Unclean 领导者选举 

  ISR列表为空,表示leader副本挂掉了,需要重新选择Leader

   Kafka 把所有不在ISR中存活的副本都被称为非同步副本

   unclean.leader.election.enable控制是否允许Unclean领导者选举

   开启以上参数,会造成消息丢失,好处是提高了可用性;禁用Unclean领导者选举好处在于维护了数据的一致性,避免消息丢失。

CAP 一致性,可用性,分区容错性

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: