分布式系统原理(1)基本概念
对分布式系统中的基本概念做简单介绍
- 节点:能按照分布式协议独立运行的完整程序个体
- 通信:节点之间需要使用不可靠的网络通讯
- 存储:节点可以将数据写入同一机器的存储设备保存数据
- 异常:
- 机器宕机
- 网络异常:
- 消息丢失:网络层不能保证数据确实送到
- 消息乱序:节点发送消息的顺序与消息到达顺序不一致
- 数据错误:网络传输可能导致比特错误
- 不可靠传输:即使使用了TCP,也不能保证上层应用正确接收到了数据
- 分布式系统三态:
- 成功
- 失败
- 超时
- 副本:分布式系统中为数据或服务提供的冗余
- 数据副本:在不同节点持久化统一数据
- 服务副本:数个节点提供相同服务
- 副本一致性:
- 强一致性:任何时刻任何用户或节点可以读到最新一次提交的副本数据
- 单调一致性:任何时刻,同一用户读取到数据某个值后,不会再读取到更旧的值
- 会话一致性:用户在某一次会话内一旦读到某个值,在这次会话中不会读取到更旧的值
- 最终一致性:一旦更新成功,各个副本的数据最终将完全一致,但一致所需时间不能保证
- 弱一致性:一旦某个更新成功,用户无法在一个确定时间内读到这次更新的值,且即使在某个副本上读到了新的值,也不能保证在其他副本上可以读到新的值
- 衡量分布式系统的标准
- 性能:吞吐、延迟、并发等
- 可用性:健壮性、容错性
- 可扩展性:通过扩展集群机器规模提高系统性能(吞吐、延迟、并发)、存储容量、计算能力的特性
- 一致性:不同系统对一致性要求不同
- 本地化计算:移动数据不如移动计算,服务从不同节点跨网络取数据不如直接在每个数据节点安置服务