从零到千亿级实时数据处理_徐振中.pdf
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Big Data History
为什么要用Streaming Architecture?
Big Data History
Big Data History
对流数据的现实需求
● 数据爆炸性增长
Big Data History
对流数据的现实需求
● 数据爆炸性增长
● 数据处理模式的需求变化
如何实现hash table?
如何实现hash table?
教科书说:
如何实现hash table?
如何实现hash table?
如何实现hash table?
Commit log Commit log 是很多分布式系统中的核心 ● ● ● ● Database Replication Paxos Consensus Kafka ……
● 10,000+ Docker容器部署
We help
Produce, Store, Process, Move Events @ Cloud scale
Keystone构架
Control Plane
EMR
KS Proxy
Fronting Kafka
Samza Router
Stream Consumers Consumer Kafka
3. 传统应用构架 - Caching!
缓存分布式系统难题: ● ● ● ● Cache coherence Cache Invalidation Consistency issue Cold start / bootstraping
为什么? ● 分布式系统中网络延迟永远大于零 ● Race condition ● Source of truth和客户端看到的永远可能不一致
核心实现细节
+
*Samza可由其他streaming processing framework替代。
核心源自文库现细节
Streaming Architecture
Questions?
?
为什么保存状态的数据库一定要在构架的最底端?
介绍流构架
介绍流构架
流构架特性
● ● ● ● ● ● ● ● ● 数据不可变性 顺序可能很重要 Real time & Reactive Request / Response ⇒ Subscribe / Notify 预先计算好的缓存 流构架可以迭代组合 同一个数据流可产生不同的物质化视图 Delivery guarantee stream everywhere!
3. 传统应用构架 - Caching!
4. 传统应用平台构架 - multi-layered!
4. 传统应用构架 - multi-layered!
分层组件之间的Reconciliation 协议 ● 最终一直性 (eventual consistency) ● 轮询协议 (polling protocol) ● 物质化视图(materialized view)
Before we start...
大家来回忆一下:
如何用最基础的数据结构实现hash table?
Before we start...
大家来想一下:
为什么“有些人”总不让你用全局变量?
Netflix Keystone Pipeline
● 日处理七千亿条/1+ PB 数据 ● 顶峰每秒处理1千万条/20+ GB 信息 ● 3000+ Kafka brokers, 12 clusters in 3 regions
从零到千亿级实时数据处理
“流”化你的应用构架
链接
– https://netflix.github.io/ – http://www.oschina.net/project/netflix
话题
• Netflix日处理千亿级数据平台 • 大数据技术简短历史 • 深潜流构架及技术基础
• 为什么你的App也“流”的转!
1. 传统应用构架从零开始
1. 传统应用构架从零开始
2. 传统应用构架 - Scale up DB!
3. 传统应用构架 - Caching!
res = cache.get(key) if (!res) { r = db.get(key) cache.put(key, r) } return r;
Event Producer
Netflix Keystone Pipeline
● 横向可扩展构架
● 完全构架在AWS云端基础设施上
● At-least-once 投递保证 ● 容纳back pressure, 容纳云端不稳定基础服务 ● Sink level isolation ● 同时支持数据中心内及跨洲际数据中心failover ● High availability, scalability & durability ● Streaming Architecture