APP下载

我的分散式学习计划

消息来源:baojiabao.com 作者: 发布时间:2024-05-20

报价宝综合消息我的分散式学习计划

分散式需要了解哪些知识

为了提高团队成员在分散式系统方面的专业实力,制定了一份学习计划,希望通过执行本计划使得成员能够从0开始更佳全面的了解分散式系统的基本理论,做到知其然知其所以然,更深入得理解分散式系统设计的关键点,从而更好的指导工程实践。

1. Introduction

学习目标:学习如何阅读一篇论文,了解分散式系统的基本概念

scalabilityavailabilityperformancelatencyfault toleranceand so on参考文献:

How To Read An Engineering Research PaperDistributed systems at a high level

2. Up and down the level of abstraction

学习目标:了解分散式系统的基本问题和理论。

Meaning Of AbstractionSystem Model分散式系统中的执行单元什么是网络分割槽同步 vs. 异步一致性问题CAP 、FLP 、ACID 理论一致性模型参考文献:

Up and down the level of abstractionBrewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web.pdfImpossibility of Distributed Consensus with One Faulty Process.pdfFLP Impossibility的证明分散式系统工程实践->2.3/2.4

3. Time And Order

学习目标:

Total and partial order系统中的时间time“Global-clock”、”Local-clock”、”no-clock”Vector clock in Detail参考文献:

Time And OrderTime, Clocks, and theOrdering of Events ina Distributed System

4. Replica And Consensus Problem

学习目标:了解和学习副本一致性,比如Primary/Backup、2PC 以及 分散式共识算法。

Replication: Syn & AsyncPrimary/Backup & 2PCPartition tolerant consensus algorithmsAlgorithms Examples:Raft参考文献:

Distributed systems->4、5Raft lecture (Raft user study)Raft Understandable Distributed Consensus扩充套件阅读:Partition-tolerant consensus algorithms: PacificA、Paxos

Paxos lecture (Raft user study)The Part-Time ParliamentPaxos Made SimplePaxos Made Live - An Engineering PerspectivePaxos Made Practical

5. Data Distribution(Replica PlaceMent)

学习目标:分散式储存系统扩充套件新很重要的一方面是资料(副本)的划分和放置,这里需要学习基本的划分方式。

Range :字典序拆分、ListHash:Consistent hash、DHT、CRUSH参考文献:

分散式系统设计白皮书->可扩充套件性分散式系统工程->2.1 资料分布方式CRUSH

6. Distributed System Example

分散式储存泛指储存储存和管理资料的系统, 与无状态的应用服务器不同, 如何处理各种故障以保证资料一致,资料不丢, 资料持续可用, 是分散式储存系统的核心问题,也是极具挑战的问题。 如下总结了分散式储存领域的经典学习论文。(参考:distributed-storage-papers)

Ceph: Reliable, Scalable, and High-Performance Distributed Storage. Sage A. Weil. 功能强大的开源海量储存系统, 支援档案系统、块装置、以及S3界面。 主要技术特色: CRUSH资料物件定位算法, 基于动态子树的档案系统元资料管理。The Google File System. Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung。 基于普通服务器构建超大规模档案系统的典型案例,主要面向大档案和批处理系统, 设计简单而实用。 GFS是google的重要基础设施, 大资料的基石, 也是Hadoop HDFS的参考物件。 主要技术特点包括: 假设硬件故障是常态(容错能力强), 64MB大块, 单Master设计,Lease/链式复制, 支援追加写不支援随机写。Bigtable: A Distributed Storage System for Structured Data.Fay Chang, Jeffrey Dean, Sanjay Ghemawat, et. 支援PB资料量级的多维非关系型大表, 在google内部应用广泛,大资料的奠基作品之一 , Hbase就是参考BigTable设计。 Bigtable的主要技术特点包括: 基于GFS实现资料高可靠, 使用非原地更新技术(LSM树)实现资料修改, 通过range分割槽并实现自动伸缩等。Spanner: Google’s Globally-Distributed Database. James C. Corbett, Jeffrey Dean, et. 第一个用于线上产品的大规模、高可用, 跨资料中心且支援事务的分散式数据库。 主要技术特点包括, 基于GPS和原子钟的全球同步时间机制TrueTime, Paxo, 多版本事务等。PacificA: Replication in Log-Based Distributed Storage Systems. Wei Lin, Mao Yang, et. 面向log-based储存的强一致的主从复制协议, 具有较强实用性。 这篇文章系统地讲述了主从复制系统应该考虑的问题, 能加深对主从强一致复制的理解程度。 技术特点: 支援强一致主从复制协议, 允许多种储存实现, 分散式的故障检测/Lease/丛集成员管理方法。Object Storage on CRAQ, High-throughput chain replication for read-mostly workloads. Jeff Terrace and Michael J. Freedman. 支援强一直的链式复制方法, 支援从多个副本读取资料。Finding a needle in Haystack: Facebook’s photo storage. Doug Beaver, Sanjeev Kumar, Harry C. Li, Jason Sobel, Peter Vajgel. Facebook分散式Blob储存, 主要用于储存图片。 主要技术特色: 小档案合并成大档案, 小档案元资料放在内存因此读写只需一次IO。Windows Azure Storage: A Highly Available Cloud Storage Service with Strong Consistency.Brad Calder, Ju Wang, Aaron Ogus, Niranjan Nilakantan, et. 微软的分散式储存平台, 除了支援类S3物件储存,还支援表格、伫列等资料模型。 主要技术特点: 采用Stream/Partition两层设计(类似BigTable);写错(写满)就封存Extent, 使得副本字节一致, 简化了选主和恢复操作; 将S3物件储存、表格、伫列、块装置等融入到统一的底层储存架构中。The Chubby lock service for loosely-coupled distributed systems. Mike Burrows. Google设计的高可用、可靠的分散式锁服务, 可用于实现选主、分散式锁等功能, 是ZooKeeper的原型。 主要技术特点: 将paxo协议封装成档案系统界面, 高可用、高可靠,但是不保证有很强效能。Paxos Made Live – An Engineering Perspective. Tushar Chandra, Robert Griesemer,Joshua Redstone. 从工程实现角度说明了Paxos在chubby系统的应用, 是理解Paxo协议及其应用场景的必备论文。 主要技术特点: paxo协议, replicated log, multi-paxos。Dynamo: Amazon’s Highly Available Key-Value Store. Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, et. Amazon设计的高可用的kv系统, 主要技术特点:综和运用一致性杂凑,vector clock, 最终一致性构建一个高可用的kv系统, 可应用于amazon购物车场景。

7. Others

分散式系统工程分散式系统原理介绍储存系统一致性与可用性分散式系统设计白皮书本文由tom原创,转载请注明原文连结:

https://work-jlsun.github.io//2016/11/30/DistributedSystem-Learning-Roadmap.html

2019-11-08 18:01:00

相关文章