分布式系统非常关注三个指标:
△关于一致性数据“强一致性”,是希望系统只读到最新写入的数据,例如:通过单点串行化的方式,就能够达到这个效果。
关于 session 一致性,DB 主从一致性,DB 双主一致性,DB 与 Cache 一致性,数据冗余一致性,消息时序一致性,分布式事务一致性,库存扣减一致性。
△关于可用性如果系统每运行 100 个时间单位,会有 1 个时间单位无法提供服务,则说系统的可用性是 99%。
可用性和可靠性是比较容易搞混的两个指标,以一台取款机为例:·正确的输入,能够取到正确的钱,表示系统可靠·取款机 7 *24 小时提供服务,表示系统可用
保证系统高可用的方法是:·冗余·故障自动转移
△关于连通性与扩展性分布式系统,往往有多个节点,每个节点之间,都不是完全独立的,需要相互通信,当发生节点无法联通时,数据是否还能保持一致,系统要如何进行容错处理,是需要考虑的。
同时,连通性和扩展性紧密相关,想要加机器扩展性能,必须有良好的连通性。当一个节点脱离系统,系统就出现问题,往往意味着系统是无法扩展的。