- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
Apache Pulsar 从消息系统到流原生平台-Jia
展开查看详情
1 .ApachePulsar 从消息系统到流原⽣平台 翟佳
2 . ⾃我介绍 • 翟佳 • 开源项⽬爱好者: • Apache Pulsar, • Apache BookKeeper • EMC -> StreamNative • StreamNative: • Cloud-Native Event Streaming with Apache Pulsar
3 .什么是 Apache Pulsar Apache Pulsar 的不同 Apache Pulsar 与流原⽣ 社区案例
4 .1 什么是 Apache Pulsar
5 .Pulsar 简介 2003 2010 2012 2006 2011
6 . 为什么要“造轮⼦” • 没有系统能够解决遇到的问题和规模 • 多租户 - 百万Topics - 低延时 - 持久化 - 跨地域复制 • 已有的系统存在问题 • 分区模型紧耦合存储和计算, • 不是云原⽣(Cloud Native)的设计 • 存储模型过于简单,强依赖于⽂件系统 • 想开持久化保证数据不丢,或者,增加Topics的数量,性能下降太厉害 • IO不隔离:消费者在清除Backlog的时候会影响其他⽣产者和消费者 • 运维太痛苦 - 替换机器、服务扩容都需要很漫⻓的重新均衡数据的过程
7 .Pulsar 简介 —— 定义 Flexible Pub-Sub Messaging, backed by durable log Storage
8 .Pulsar 历史简介 • 2012: Pulsar idea started at Yahoo! • 5 years on production, 100+ applications, 10+ data centers • 2016/09 Yahoo open sourced Pulsar • 2017/06 Yahoo donated Pulsar to ASF • 2018/09 Pulsar graduated as a Top-Level project • 2018/09 InfoWorld Best Open Source Project • ~30 committers, 200 + contributors, 1000+ forks, 4600+ stars • Yahoo!, Yahoo! Japan, Tencent, Zhaopin, THG, OVH, … http://pulsar.apache.org/en/powered-by/
9 .不同 • 灵活的、统⼀的消息模型:队列 + 流 • 企业级特性 • 云原⽣: • 存储(storage)和计算(serving/messaging)分离 • 降维:从分区到分⽚
10 .2 Apache Pulsar 的不同
11 .1. 灵活的、统⼀的消息模型
12 .1. 灵活的、统⼀的消息模型
13 .2. 企业级特性 — 多租户
14 .2. 企业级特性 — Geo-replication Broker原⽣ Pub/Sub⼀体 管理简单 配置灵活
15 .3. 云原⽣架构 • 存储和计算分离 • 独⽴扩展 • 灵活扩容 • 快速容错
16 .4. 降维:Partition 分⽚ • 逻辑分区 • 分区分⽚ • Size&Time • 存储均衡
17 .5. 存储层: Apache BookKeeper 分布式⽇志/流存储 • 低延时、⾼吞吐、持久化 • 强⼀致 (repeatable read consistency) • ⾼可⽤ • 单节点可以存储很多⽇志 • I/O隔离
18 .5. 存储层: Apache BookKeeper Source of Truth of Everything … • HDFS NameNode • Databases: • Twitter Manhattan, • Salesforce NewSQL Database • Messaging: • Twitter EventBus • Apache Pulsar
19 . 5. 存储层: Apache BookKeeper • openLedger(ensemble_size, write_quorum_size, ack_quorum_size)
20 .5. Apache BookKeeper — ⼀致性 • Raft • BookKeeper
21 .5. Apache BookKeeper — ⼀致性 • Raft • BookKeeper
22 . 5. Apache BookKeeper — ⼀致性 • LastAddPushed • LastAddConfirmed • Fencing避免脑裂
23 .5. Apache BookKeeper — 读写分离
24 .6. 分层分⽚优势
25 .Broker 容错 ⽆感知容错 零数据catchup
26 .Bookie 容错 应⽤⽆感知 并发可控 数据恢复
27 . 存储扩容 应⽤⽆感知 数据均匀分布 ⽆re-balance
28 .Rebalance https://jack-vanlightly.com/sketches/2018/10/2/kafka-vs-pulsar-rebalancing-sketch
29 .3 Apache Pulsar 与流原⽣