Skip to main content

分布式系统概述 Distributed Systems Introduction

I note down the critical concept of distributed system.

There may be mistakes, feel free to discuss with me here issue.

Why Distributed Systems?

Dsitributed System has been used broadly in real life. It is necessary for the current internet world, such as Google, Meta, Tiktok, etc.

image-20240510014526705

The Challenges/Capabilities of Distributed Systems

  1. Failure Tolerance
  2. Managing Distributed State
  3. Scalability
  4. Architecture and Design

Thought Experiement: Two General's Problem

In the experiment, two generals are only able to communicate with one another by sending a messenger through enemy territory. The experiment asks how they might reach an agreement on the time to launch an attack while knowing that any messenger they send could be captured.

From this thought experiement, we know that It is impossible to reach a final agreement with unstable communication channel.

But we can solve it in engineering ways by bypassing some assumptions and allowing trade-offs. There are lots of solutions published, for example, the Consensus Algorithm.

A quick tour of Distributed System [Video]

『Made in Heaven』分布式系统要开始加速了,43秒带你速通 ! 分布式系统概念 第01期

image-20240510014605375

CAP Theorem

image-20240510015247029

RPC Semantics

image-20240510015635272

Logical Lock

image-20240510015625629

Distributed State

image-20240510015357181

Consistency

image-20240510015146337

Consensus Protocol

image-20240510015319433

Byzantine Fault Tolerance

image-20240510015222164

Distributed Transaction

image-20240510015204878

Distributed File System

image-20240510015655403

Distributed Storage

image-20240510015510193

Distributed Computing

image-20240510015445427

Distributed Machine Learning

image-20240510015527218

Reference

  1. Two General's Problem, Wiki
  2. At most once, at least once, exactly once
  3. Time, Clock, and the Ordering of Events in a Distributed System
  4. Impossibility of Distributed Consensus with One Faulty Process
  5. Paxos Made Simple
  6. Paxos Made Moderately Complex
  7. In Search of an Understandable Consensus Algorithm
  8. Practical byzantine fault tolerance
  9. Spanner: Google’s Globally-Distributed Database
  10. etc