Pulsar 笔记

栏目: 后端 · 发布时间: 6年前

内容简介:written by Alex Stocks on 2018/10/16,版权所有,无授权不得转载刚开始看 Apache Pulsar 一些资料,后面逐步补充。很多人查看 Pulsar 之前可能对 Kafka 很熟悉,下面详述二者的异同以明确 Pulsar 的特点。

written by Alex Stocks on 2018/10/16,版权所有,无授权不得转载

刚开始看 Apache Pulsar 一些资料,后面逐步补充。

1 Pulsar vs Kafka

很多人查看 Pulsar 之前可能对 Kafka 很熟悉,下面详述二者的异同以明确 Pulsar 的特点。

1.1 Kafka 的缺陷

参考文档1 给出了 Kafka 的一些不足:

  • 1 Kafka 每个 Partition replica 都完整的存储在kafka节点上,Partition 以及 Partition replica 由一系列的 Segment 和索引文件组成,整个架构简单快捷,但是单个节点必须有足够的磁盘空间来处理副本;
  • 2 在集群扩展时必须做 Rebalance,需要 Broker 有良好的执行流程保证没有任何故障的情况下分散节点的存储压力。

比较才有优劣。相比 Pulsar,Kafka 的存储模型的缺陷导致了其负载均衡能力的不足, 参考文档3 对这点很形象地以下图说明之。

Pulsar 笔记

Pulsar 的底层数据 以 Fragments 形式存储在多个 BookKeeper 上,当集群扩容添加 Bookies 后,Pulsar 会在新的Bookie上创建新的 Fragment,所以不需要再扩容时候像 Kafka 一样进行 Rebalance 操作。但是这样的结果就是同一个 Ledger 的 Fragments 分布在多个 Bookie 上,导致读取和写入会在多个 Bookies 之间跳跃。Topic的 Ledger 和 Fragment 之间映射关系等元数据存储在Zookeeper中,Pulsar Broker 需要实时跟踪这些关系进行。

Pulsar 的 metadata 存储在 zookeeper 上,而消息数据存储在 Bookkeeper 上。Broker 虽然需要这些 metadata,但是其自身并不持久化存储这些数据,所以可以认为是无状态的。

1.2 名词对应表

根据个人对 参考文档1 的理解,整理如下 Pulsar 和 Kafka名词对应列表

Pulsar Kafka
Topic Topic
Partition Ledger
Segment Fragment/Segment
Broker Bookie
Ensemble Size Broker Number
Write Quorum Size (Qw) Replica Number
Ack Quorum Size (Qa) request.required.acks

writing.

2 Pulsar 读写过程

2.1 fencing

fencing 本质就是一个分布式加锁协议,与 2PC 协议类似,本质上与多 CPU core 之间数据一致性协议 MESI 协议无差。

Pulsar 笔记

writing.

参考文档

1 理解Apache Pulsar工作原理

2 Twitter高性能分布式日志系统架构解析

3 Kafka vs Pulsar - Rebalancing (Sketch)

扒粪者-于雨氏

2018/10/18,于雨氏,于西二旗。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序员的呐喊

程序员的呐喊

[美]Steve Yegge / 徐旭铭 / 人民邮电出版社 / 2014-5-1 / 45.00元

《程序员的呐喊》的作者是业界知名的程序员—来自google的steve yegge,他写过很多颇富争议的文章,其中有不少就收录在这本书中。本书是他的精彩文章的合集。 《程序员的呐喊》涉及编程语言文化、代码方法学、google公司文化等热点话题。 对工厂业界的各种现象、技术、趋势等,作者都在本书中表达了自己独特犀利的观点。比如java真的是一门优秀的面向对象语言吗?重构真的那么美好吗?强......一起来看看 《程序员的呐喊》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具