从 Kafka 到 Pulsar:数据流演进之路 | 青训营笔记

74 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第9天

MQ消息通道

优点:异步解耦、高可用、削峰填谷、消息订阅

Kafka

image.png

  • Coordinator

    • 负责topic-partition <-> consumer的负载均衡
  • 高可用

    • 副本同步机制
      • 提供Isr副本复制机制,提供热备份功能
        • AR,所有已经分配的副本
        • OSR,很久没有数据同步的副本
        • ISR,一直都在同步数据的副本,可以作为热备进行切换的副本,以及最少isr数量配置
      • 写入端提供ack机制
        • ack = 1,Leader副本写入成功,即认为写入成功
        • ack = 0,producer发送一次,无论是否成功
        • ack = -1,ISR中所有副本都写入成功
  • Kafka扩容

    • 计算均衡Replica分布拓扑
    • Controller广播元数据

Pulsar

image.png

  • Pulsar采用存储计算分离的架构,pulsar使用了bookkeeper做消息的存储,bookkeeper保证了消息存储的可靠性和高效性,bookkeeper为pulsar提供了存储的扩展能力
  • Pulsar使用zk做元数据存储
  • 多租户,pulsar最初的设计就是支持多租户的
  • 命名空间:一个租户可以有多个命名空间,一个topic属于一个命名空间,pulsar中的配置都是以命名空间为单位配置的
  • Pulsar采用存储计算分离的架构,Pulsar使用了bookkeeper做消息的存储,bookkeeper保证了消息存储的可靠性和高效性,bookkeeper为Pulsar提供了存储的扩展能力
    • Client
    • bookie
    • ZooKeeper
  • Pulsar三级存储
  • Pulsar使用zk做元数据存储
  • 多租户,pulsar最初的设计就是支持多租户的
  • 命名空间:一个租户可以有多个命名空间,一个topic属于一个命名空间,Pulsar中的配置都是以命名空间为单位配置的
  • IO
    • 分为source 和output,解决从哪里来到哪里去