高可用的设计原理:linux
一致性sql
1)Weak 弱一致性:当你写入一个新值后,读操做在数据副本上可能读出来,也可能读不出来。好比:某些cache系统,网络游戏其它玩家的数据和你没什么关系,VOIP这样的系统,或是百度搜索引擎(呵呵)。服务器
2)Eventually 最终一致性:当你写入一个新值后,有可能读不出来,但在某个时间窗口以后保证最终能读出来。好比:DNS,电子邮件、Amazon S3,Google搜索引擎这样的系统。网络
3)Strong 强一致性:新的数据一旦写入,在任意副本任意时刻都能读到新值。好比:文件系统,RDBMS,Azure Table都是强一致性的。架构
方案:异步
1. MySQL Replication(半同步->异步同步)搜索引擎
优势:设计
缺点:3d
2. Mysql Clusterblog
优势:
缺点:
共享存储SAN
优势:
缺点:
DRBD
是一个以linux内核模块方式实现的块级别同步复制技术。它经过网卡将主服务器的每一个块复制到另一个服务器块设备上,并在主设备提交块以前记录下来。
MySQL Fabric
简单来讲就是数据分片下的M/S的读写分离模式。这个方案的的可用性能够达到99%