上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

2019年高可用分布式流数据存储设计.pdf

编号:95956 PDF 32页 3.09MB 下载积分:VIP专享
下载报告请您先登录!

2019年高可用分布式流数据存储设计.pdf

1、高可用分布式流数据存储设计京东集团 技术架构部 架构师目录Why 有什么用?What 如何定位?如何融入生态系统?How 如何实现?如何优化?WHY为什么需要流数据存储?单体应用烟筒式SOA微服务那些年的服务MySQLESHDFSKVHBaseHive这些年的数据ServicesDataMySQLESHDFSKVHBaseHive统一的流数据存储平台我们的愿景ServicesStreaming StorageData有序 Append only:尾部写入,不变 顺序读取 分布式 高性能 可靠性 顺序一致性(近乎)无限容量 我们需要什么样的存储?WHATPub/SubPowered byUnit

2、ed Stream StoreStreaming ConnectorDistributed Application Coordinating ServiceBinlog Replication挖坑填坑带你 废话少说HOW性能计算机到底有多快?CPU3 GHz内存20 GB/sSSD1 GB/s1 ns6,000 ns70,000 ns1 ms=1,000,000 nsJournalQ有多快?32,961,776TPS测试服务器:32C/256G/4TB SSD/万兆以太网 测试每条消息大小为:1KB LZ4 压缩单节点存储结构设计010505580Journal010505580Index01

3、34230536870912512K1024K0512K1024K0512K 1024KJournal filesIndex filesPartition 0Partition 1Partition 2写入:查找:O(logi)+O(logj)O(1)O(1)缓存CacheFile堆外内存异步预加载读写共页PLRU淘汰策略高并发 高性能减少等待异步:Future,Callback,React框架 流程拆分 减少锁:CAS原语 减少锁等待:读写锁,细粒度锁 写入数据流程IOThreads接收请求Requests QueueWriteThread处理Fl

4、ushThread刷盘ReplicationThread发送复制请求IOThreads收到复制响应Pending CallbacksResponseThreads发送响应Journal CacheJournal Files线程模型集群 架构没有最好的架构,只有最合适的架构取 舍学会得始终取 舍从实用角度出发,如何取舍?Consistency 一致性Availability 可用性Performance 性能例用Redis给MySQL做缓存 大促限流Complexity 复杂度Apache ZooKeeper“程序员都喜欢ZooKeeper,但用户正相反”可维护性问题多机房部署时可用性问题数据容

5、量有限,集群规模有限选举恢复速度慢,不可用时间较长John OusterhoutDiego Ongaro“In search of an understandable consensus algorithm”Raft一致性算法2014线性 任一时刻至多只有一个请求在执行 幂等 使用相同参数重复执行,能获得相同结果复制状态机Replication0123456789 10 lastAppliedlastAppliedcommitIndexLeaderFollowercommitIndexmatchIndexnextIndex9AppendEntries RPC参数描述ter

6、m领导人的任期号leaderId领导人的 id,为了其他服务器能重定向到客户端prevLogIndex最新日志之前的日志的索引值prevLogTerm最新日志之前的日志的领导人任期号entries将要存储的日志条目(表示 heartbeat 时为空)Leader Election我发现BOSS挂了,选我当BOSS吧咱们是同一任期的吗?我是不是已经选了别人?你的日志至少和我一样新吗?优点 强一致 选举快速 易于理解 弱点 牺牲可用性换取一致性 性能一般 集群规模不能太大Raft总结读请求分流顺序一致已提交位置之前的日志具有不变性。对于提交的日志,相同位置上Follower的日志和Leader上是

7、一样的。强一致如果两个节点上的日志完全相同,并且这些日志都已经被状态机执行,那么这两个节点的状态是相同的。集群节点数越多性能越好吗?NO引入Observers并行复制-CASAtomic Hardware Primitives:faa=FetchAndAdd,cas=CompareAndSwap“Confluo:Distributed Monitoring and Diagnosis Stack for High-speed Networks”Anurag Khandelwal,Rachit Agarwal基于位置的异步复制Sorted requests queueRequest handlerSorted responses queueReplication ThreadResponse handlerLeaderFollower

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(2019年高可用分布式流数据存储设计.pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部