分布式
...大约 11 分钟
分布式
大型软件为了应对海量数据、高并发,一般都会被设计为分布式系统。
分布式系统需要解决很多不同领域的问题。
📖 内容
分布式综合
分布式理论
- 分布式基础理论 - 关键词:
错误的分布式假设
- 逻辑时钟 - 关键词:
逻辑时钟
、向量时钟
、版本时钟
、全序
、偏序
- CAP 和 BASE - 关键词:
ACID
、CAP
、BASE
、一致性
- 拜占庭将军问题 - 关键词:
共识
- 分布式算法 Paxos - 关键词:
共识
、Paxos
- 分布式算法 Raft - 关键词:
共识
、Raft
- 分布式算法 Gossip - 关键词:
Gossip
- ZAB 协议 - 关键词:
共识
、ZAB
、ZooKeeper
分布式协同
- 分布式协同综合
- ZooKeeper
分布式调度
- 流量控制 - 关键词:
限流
、熔断
、降级
、计数器法
、时间窗口法
、令牌桶法
、漏桶法
- 负载均衡 - 关键词:
轮询
、随机
、最少连接
、源地址哈希
、一致性哈希
、虚拟 hash 槽
- 服务路由 - 关键词:
路由
、条件路由
、脚本路由
、标签路由
- 分布式会话 - 关键词:
粘性 Session
、Session 复制共享
、基于缓存的 session 共享
- 分布式 ID - 关键词:
UUID
、自增序列
、雪花算法
、Leaf
分布式高可用
分布式通信
RPC
RPC 综合
Dubbo
MQ
MQ 综合
Kafka
RocketMQ
其他 MQ
分布式存储
📚 资料
分布式理论资料
分布式理论综合资料
- 教程
- MIT-6.824 - 麻省理工分布式系统课程
- CMU-15-440 - 卡内基梅隆分布式系统课程
- Standford-CS244b - 斯坦福分布式系统课程
- UC Berkley-CS294-91- 伯克利分布式计算课程
- 分布式技术原理与算法解析 - 极客时间教程
- 分布式协议与算法实战 - 极客时间教程
- 书籍
- 分布式系统原理与范型:书原名 Distributed Systems Principles and Paradigms。经典分布式教程,介绍了分布式系统的七大核心原理,并给出了大量的例子;系统讲述了分布式系统的概念和技术,包括通信、进程、命名、同步化、一致性和复制、容错以及安全等。
- 文章
- Solution of a Problem in Concurrent Programming Control,译文 - Dijkstra 首次提出并解决了互斥执行问题
- Time, Clocks, and the Ordering of Events in a Distributed System,译文,解读 - Lamport 介绍 happened before、偏序关系(partial ordering)、逻辑时钟(Logical Clocks)概念,提出解决分布式系统中区分事件发生的时序问题的方法。
- Virtual Time and Global States of Distributed Systems,解读 - 逻辑时钟无法描述事件的因果关系。本文提出了向量时钟,这种算法利用了向量这种数据结构将全局各个进程的逻辑时间戳广播给各个进程,通过向量时间戳就能够比较任意两个事件的因果关系。
- Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services,解读 - 经典的 CAP 理论,即:在一个分布式系统中,当发生网络分区时,那么强一致性和可用性只能二选一。
- CAP Twelve Years Later: How the “Rules” Have Changed - CAP 理论的新解读,并阐述 CAP 理论的一些常见误区。
- BASE: An Acid Alternative,译文 - BASE 理论是对 CAP 中一致性和可用性的权衡,提出采用适当的方式来使系统达到最终一致性。
- A Simple Totally Ordered Broadcast Protocol - 概述 ZooKeeper 的全序广播协议(Zab)
- The Eight Fallacies of Distributed Computing - Tech Talk - 分布式系统新手常犯的 8 个错误,并探讨了其会带来的影响。
- Distributed Systems for Fun and Profit - 一本学习小册,涵盖了分布式系统中的关键问题,包括时间的作用和不同的复制策略。
- A Note on Distributed Systems - 这是一篇经典的论文,讲述了为什么在分布式系统中,远程交互不能像本地对象那样进行。
- 深度探索分布式理论经典论文 - 分布式理论论文的导读文章
- Distributed Systems for fun and profit:分为五章,讲述了扩展性、可用性、性能和容错等基础知识,FLP 不可能性和 CAP 定理,探讨了大量的一致性模型;讨论了时间和顺序,及时钟的各种用法。随后,探讨了复制问题,如何防止差异,以及如何接受差异。此外,每章末尾都给出了针对本章内容的扩展阅读资源列表,这些资料是对本书内容的很好补充。
- An introduction to distributed systems - 这是一份分布式系统的提纲挈领的介绍,几乎涵盖了所有知识点,并辅以简洁并切中要害的说明文字,适合初学者了解知识全貌,快速与现有知识结合,形成知识体系。
分布式算法资料
- 视频
- 动画
- Raft: Understandable Distributed Consensus - 分布式一致性算法 Raft 的动画教程
- The Raft Consensus Algorithm - 分布式一致性算法 Raft 的交互式动画教程
- Goosip 协议仿真动画
- 文章
- The Byzantine Generals Problem - Lamport 提出拜占庭将军问题——一种解决分布式系统一致性问题的理论。
- The Part-Time Parliament - Lamport 提出分布式一致性算法 Paxos。
- Paxos Made Simple,译文,解读 - Lamport 重新阐述 Paxos。
- Paxos Made Live: An Engineering Perspective,译文 - 讲述了 Google 在最初实现 Paxos 碰到的一系列问题及解决方案。
- How to Build a Highly Availability System using Consensus,译文 - 以 Paxos 为实例,讲述了如何描述、解决、理解、证明分布式算法。
- Using Paxos to Build a Scalable, Consistent, and Highly Available Datastore - 讲述了 LinkedIn 是如何利用 Paxos 和 ZooKeeper 构建一个名为 Spinnaker 的 KV 数据库。
- Raft: In Search of an Understandable Consensus Algorithm,译文,解读 - 分布式一致性算法 Raft
- A Brief History of Consensus, 2PC and Transaction Commit - 一致性, 两阶段提交和事务提交的发展史
- Consensus in the Presence of Partial Synchrony - 部分同步的一致性
- Epidemic Algorithms for Replicated Database Maintenance,解读 - 论文提出 Gossip 协议及应用
- INTRODUCTION TO GOSSIP - Gossip 协议介绍
- 工具
- sofa-jraft - 蚂蚁金服的 Raft 算法实现库(Java 版)
分布式通信资料
RPC 资料
- RPC 实战与核心原理 - 极客时间教程
MQ 资料
- 教程
- 消息队列高手课
- Kafka 中文文档
- Kafka 核心技术与实战 - 极客时间教程
- Kafka 核心源码解读 - 极客时间教程
- 文章
- 官方
- 书籍
分布式存储资料
- 书籍
- 数据密集型应用系统设计 - 这可能是目前最好的分布式存储书籍,强力推荐【进阶】
- 文章
- Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications
- Pastry: Scalable, Distributed Object Location, and Routing for Large-Scale Peerto-Peer Systems
- Kademlia: A Peer-to-Peer Information System Based on the XOR Metric
- A Scalable Content-Addressable Network
- Ceph: A Scalable, High-Performance Distributed File System
- The Log-Structured-Merge-Tree,译文 - LSM 树被广泛应用于 HBase、RocksDB 等 Nosql 数据库。这篇论文详细介绍了 LSM 树的特性和原理。
- HBase: A NoSQL Database
- Tango: Distributed Data Structure over a Shared Log
分布式系统架构资料
- The Google File System - Google 三驾马车之 GFS
- Bigtable: A Distributed Storage System for Structured Data - Google 三驾马车之 BigTable
- MapReduce: Simplifed Data Processing on Large Clusters - Google 三驾马车之 MapReduce
- The Chubby Lock Service for Loosely-Coupled Distributed Systems
- Finding a Needle in Haystack: Facebook’s Photo Storage
- Windows Azure Storage: A Highly Available Cloud Storage Service with Strong Consistency
- Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing
- Scaling Distributed Machine Learning with the Parameter Server
- Dremel: Interactive Analysis of Web-Scale Datasets
- Pregel: A System for Large-Scale Graph Processing
- Spanner: Google’s Globally-Distributed Database
- Dynamo: Amazon’s Highly Available Key-value Store
- S4: Distributed Stream Computing Platform
- Storm @Twitter
- Large-scale Cluster Management at Google with Borg
- F1 - The Fault-Tolerant Distributed RDBMS Supporting Google’s Ad Business
- Cassandra: A Decentralized Structured Storage System
- MegaStore: Providing Scalable, Highly Available Storage for Interactive Services
- Dapper, a Large-Scale Distributed Systems Tracing Infrastructure
- Kafka: A distributed Messaging System for Log Processing
- Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases
🚪 传送
◾ 💧 钝悟的 IT 知识图谱 ◾
Powered by Waline v2.15.7