分布式系统概念与设计PART II

第一篇中定义了什么是分布式系统,可见消息是相当重要的。
网络

分布式系统交互模型分为:异步

同步:分布式

  • 消息发送耗时有一个下限和上限性能

  • 每一个进程有一个本地时钟,偏移率在一个已知范围内.net

异步:中间件

  • 消息发送耗时没有上限blog

  • 进程本地时钟偏移率是任意的队列

通讯范式:进程

  • 进程间通讯ci

  • 远程调用

  • 间接通讯

消息的性能:

  • 有效性,发送的消息最终都到达接收消息缓冲区

  • 完整性,接收到的消息和发送的消息一致,没有消息被传递两次

远程调用和进程间通讯都是同步的。但属于不一样层:

1.应用、服务
2.远程调用和间接通讯
3.底层进程通讯原语、套接字、消息传递 send, recieve
4.UDP和TCP

2和3处于中间件层。

请求-应答模型须要考虑的故障:

  1. 发送的消息丢失(超时重发)

  2. 响应未到达,客户端重发(过滤重复请求)

  3. 响应的消息丢失(幂等服务&保存上一次响应)

间接通讯的目的是空间和时间上的解耦,应对变化快的网络条件和下游模块。


时间耦合 时间解耦
空间耦合 RPC 消息队列
空间解耦 组播 间接通讯范型
相关文章
相关标签/搜索