数据高可用之双机架构

 

在https://blog.csdn.net/niu91/article/details/112330339 中所提及的mysql双机热备份,本文算是此篇文章的一个延申。

1. 什么是高可用

高可用或者说容灾,就是说当系统遇到突发情况或者故障的时候,能够保重业务不中断。一般的实现方案都是将数据(可以文件、数据库甚至是操作系统)冗余备份到多个存储设备上,出现故障时,备胎转正。下面介绍几种常见的双机方案。

2. 主备

这可能是最简单最容易让人想到的方案,备机备份主机数据,当发生故障时备机改为主机,这一步可以人为区操作。这里的要点是备机备份数据的频率,如果频率低 ,那可能导致数据丢失,如果频率过高可能导致主机性能下降。

这种主备架构的好处就是,客户端对备机是无感的,它不需要关心背后有几台备机。缺点也是显而易见,在主机正常工作时,备机只是备份,其他一点用处也没有,硬件资源是浪费的。出现故障之后,一般需要人来切换,这就没有自动化的便捷。如果要规避这个问题,也就说要支持双机切换,可以引入一个仲裁系统,与主备相连,判断主备状态,当主机故障时,扶正备机为主机。

3. 主从复制(读写分离)

一般来讲,主负责读写,而从可以分担读操作,如果主只负责写,那么就是一个读写分离的架构了。

优点是,主故障时,客户端仍然可以进行读操作,与主备模式相比,资源得到相对充分的利用。缺点也是相对的,客户端需要感知从机的存在,并要区分主从两台机器的不同操作。另外一个不足支持就是,主从之间存在数据同步的延迟,在一个较小的时间内,极有可能造成数据不一致的情况。

 

4. 主主复制

客户端无需区分主机,读写发往哪台机器都可以。看上去很简单,实际难点在两台主机双向复制时,如何解决冲突,代价是较高的。这种架构一般也很少用。

 

 

 

你可能感兴趣的:(010-Linux服务器,004-数据库,002-操作系统,mysql,redis,c++,主从复制,主备架构)