Consistency(一致性):即数据一致性,简单的说,就是数据复制到了N台机器,如果有更新,要N机器的数据是一起更新的,很多关系型数据库都是强一致的。
Availability(可用性):好的响应性能,可用性就是一个系统处在可工作状态的时间的比例。
Partition tolerance(分区容错性):这里是说好的分区方法,体现具体一点,简单地可理解为是节点的可扩展性。
通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。
高可用性(HA)的功能
1、软件故障监测与排除
2、备份和数据保护
3、管理站监控及告警
4、错误隔离及服务切换
5、系统存储自动扩容(可以通过一致hash分布数据,添加虚拟节点,扩容时虚转实的方式)
HA有主从方式和双工方式两种工作模式
任何分布式系统只可同时满足二点,三者无法兼顾。
架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍。