zoukankan      html  css  js  c++  java
  • 关于Kafka Replication机制

    Replication

    • Kafka的replication复制机制是其可靠性的保证,即为每个分区数据提供多个副本。

    • 每个Kafka topic包含有多个分区,分区是kafka存储数据的基本单位。一个分区只能存储在同一个硬盘上。

    • Kafka保证每一个分区内的消息的顺序,无论这个分区是在线(available)的还是离线的(unavailable)。

    • 每个分区拥有多个副本,其中一个副本将被指定为主副本(leader replicas),其余的为跟随副本(follower)

    • 所有的消息都会写入到主副本,所有的消息都从主要副本读取,其他的副本只需要保持于主副本同步即可

    • 当主副本离线时,其他的副本中的一个将会被推选为新的主副本(一般为该分区副本列表的下一个副本)

    • 关于副本是否处于“同步中(in-sync)”的状态的判断标准:

      • 如果它是主副本,那么它是处于“同步中(in-sync)”的状态。
      • 如果它是跟随副本, 且拥有以下状态,那么它处于“同步中(in-sync)”:
        • 它与zookeeper有一个可用的session(在最近6秒内给zk发送过心跳)
        • 它在最近10秒内从主副本获取过消息
        • 它在最近10秒从主副本获取过最新的消息

      否则,该副本的状态为“不同步(out-of-sync)”

    • 当一个同步中的副本出现延迟时,它会影响生产者和消费者的性能。因为只有在所有跟随副本同步完所有消息并且提交后,它们才会继续执行。

  • 相关阅读:
    HDU 1058 Humble Numbers
    HDU 1421 搬寝室
    HDU 1176 免费馅饼
    七种排序算法的实现和总结
    算法纲要
    UVa401 回文词
    UVa 10361 Automatic Poetry
    UVa 537 Artificial Intelligence?
    UVa 409 Excuses, Excuses!
    UVa 10878 Decode the tape
  • 原文地址:https://www.cnblogs.com/lestatzhang/p/10611310.html
Copyright © 2011-2022 走看看