分布式系统原理

概念 分布式系统模型

分布式系统原理

分布式系统异常

机器宕机,导致数据丢失,程序执行失败

网络异常

消息丢失

发送超时

消息乱序

TCP不可靠,是因为报文能够可靠到达TCP协议栈中,但发送到应用层可能出现问题,线程不能正确读取,或者tcp缓冲区出现问题

分布式系统的三态
当分布式节点A向B发送RPC调用,结果可能是成功,失败,超时。“超时”其实可以算失败。

存储数据丢失

无法归类的异常

副本 系统评价指标

性能 吞吐量、并发程度、响应延迟

可扩展性

一致性 由于扩展原因,出现的副本一致性问题。

可用性 可用时间占比等

分布式系统原理 数据的分布方式

实现分布式原因:单机无法解决大规模数据存储、计算问题,需要多台机器协作完成。如何实现大规模数据的拆分成为分布式系统基本问题。

哈希方式

解释:计算数据的哈希值,取余映射到一组服务器组中。

分布式系统原理

优点:哈希方式的好坏取决于哈希函数的选取,合适的哈希函数能够将数据均匀映射到各台机器中。

缺点:无法实现扩展,当需要加入新的机器时候,原来机器上的数据会无法访问,所有数据需要从新迁移。数据的哈希值分布不均匀时候,出现数据倾斜。

改进:保存对应关系,但保存关系需要一定大的开销。

按照数据范围分布

按数据量分布

副本与数据分布

以机器作为副本单位,一组机器中任意两台机器都互为副本。

分布式系统原理


优点:管理方便。没有大量元数据需要管理。
缺点:恢复效率低,容错率低。一台机器宕机时,只能从本组的其他机器中恢复数据,速度慢,影响业务运行。

以数据段为副本单位。

分布式系统原理


优点:恢复效率高,一台机器出现宕机时,可以从其他所有机器进行恢复,恢复效率高。
缺点:当有大量数据存储时,管理元数据需要一定的开销。

本地化计算
如果计算节点和存储节点不是在一台物理主机上,计算的数据则需要通过网络传输到达计算节点。衍生出计算调度方法:将计算调度到与存储节点在同一台物理机器上的计算节点进行。

基本副本协议

按照特定的流程控制副本数据的读写行为。

中心化副本控制协议

去中心化副本控制协议

Lease机制

重要应用:判定节点状态

Quorum机制 日志技术

用于宕机恢复

两阶段提交协议 基于MVCC的分布式事务 Paxos协议 CAP理论

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzxwgw.html