Distributed System

基本概念

Synchronous vs Asynchronous

Blocking vs Nonblocking

  • If the thread will not give out a signal when it's finished, synchronous

  • If the thread will give out a signal when it's finished, asynchronous

  • If the process wait the thread to be finished, blocking

  • If the process doesn't wait the thread to be finished, nonblocking.

Reference: https://www.zhihu.com/question/19732473/answer/23434554

Scalability 扩展性

两种架构模式

  • Scale out (Horizontally Scale),即通过添加更多的机器,来满足更大的需求

  • Scale up (Vertically Scale),即通过对单一机器增添CPU、RAM等,来满足更大的需求

通常情况下,先采取 Scale up 的方式,扩展单个服务器的性能,来满足业务的需求。但一旦遇到服务器性能的上限,那么就需要 Scale out 的方式来进一步满足需求。

一致性算法

如何解决分布式系统的沟通问题。

  • Paxos

  • Raft

https://segmentfault.com/a/1190000014503967

负载均衡解决办法

如何解决分布式系统负载均衡问题。

  • Consistent Hashing

故障分析

  • server down

Last updated