实现高可用的主备、主从、主主模式

高可用性H.A.(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。HA系统是企业防止核心计算机系统因故障停机的最有效手段。

高可用性在日常的工作中接触到的比较多,比如数据库的高可用、存储的高可用等等。

下面对实现高可用性的主主、主从、主备模式进行简单的介绍。

一、主备、主从、主主
1、主备
1)简介
主:主机,备:备机。
主机的意思当然是以它为主了,读写都是主机上,而备机呢就是备用,默默的在背后吸收主机的数据,时刻待命着等待主机挂了之后取而代之(没这么坏哈哈)。因此在主机还活着的情况下,备机的唯一使命就是同步主机的数据,不对外提供服务。

2)优点:简单,主备之间只有数据同步,不需要考虑别的情况。

3)缺点:备机等于就拿来备份,备机一直处于备用状态形成资源浪费。
4)主备切换方式:主要的实现方式为引入一些中间件比如 Zookeeper、keepalived等等

2、主从
1)简介
主:主机,从:从机
从机和备机的区别在于它得除了同步数据之外还得干活,对外提供读的操作,主机挂掉从机翻身做主。

 

2)优点:充分利用了资源,从机提供可读操作。

3)缺点:

①客户端需要多个判断,也就是不同操作需要发放给不同服务器,我上图主机提供读写,有时候读写分离了,主机就提供写。

②主从延迟,读操作分配给从库,就会存在数据同步的延迟问题,比如某个人注册了账号之后,登录走的是从机,这时候数据还未从主机同步过来,那可不让人很难受了。有关主从延迟问题的一些解决办法
3、主主
1)简介
主主就是两台都是主机,同时对外提供读写操作

2)优点:主主的好处就是可以把写操作也分担一下,但是问题恰恰就出在写操作上,导致主主的架构有很大的局限性。

3)缺点:例如主机A有个注册的插入操作,生成的id是50,同一时刻主机B也有个插入操作生成的id也是50。数据重复、覆盖情况

因此主主只适用于可以双向复制,覆盖的数据(例如用户登录生成的token)。但是我们平日里绝大部分的数据都不允许。

 

posted on 2022-04-12 23:02  Allen158  阅读(2685)  评论(0编辑  收藏  举报

导航