主备 主从 主主 集群和分布式区别
Posted 胖虎是只mao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了主备 主从 主主 集群和分布式区别相关的知识,希望对你有一定的参考价值。
一、主备、主从、主主
1、主备
主:主机,备:备机。
主机的意思当然是以它为主了,读写都是主机上,而备机呢就是备用,默默的在背后吸收主机的数据,在主机还活着的情况下,备机的唯一使命就是同步主机的数据,不对外提供服务。
2)优点:简单,主备之间只有数据同步,不需要考虑别的情况。
3)缺点:备机等于就拿来备份,备机一直处于备用状态形成资源浪费。
4)主备切换方式
①人工切换,时效性差。
②引入中间件。例如ZooKeeper、keepalived。全权由中间件来打理主机和备机,它会根据机子状态来判别这时候是不是该备机上了。
③主机备机之间状态传输。就是除数据同步,主备之间还要有个状态传输过程,来让备机只要现在主机过得好不好,可以是主机主动推送它的状态给备机,或者是备机去索要状态。当状态拿不到或者不对的时候就开始主备切换。但是可能传输出现了波动啥的,导致备机误判了,然后备机升级为主机,这样就两主机了(下面会说主主的问题)。
2、主从
主:主机,从:从机
从机和备机的区别在于它得除了同步数据之外还得干活,对外提供读的操作,主机挂掉从机翻身做主。
2)优点:充分利用了资源,从机提供可读操作。
3)缺点:
①客户端需要多个判断,也就是不同操作需要发放给不同服务器,我上图主机提供读写,有时候读写分离了,主机就提供写。
②主从延迟,读操作分配给从库,就会存在数据同步的延迟问题,比如某个人注册了账号之后,登录走的是从机,这时候数据还未从主机同步过来,那可不让人很难受了。有关主从延迟问题的一些解决办法
3、主主
1)简介
主主就是两台都是主机,同时对外提供读写操作。
2)优点:主主的好处就是可以把写操作也分担一下,但是问题恰恰就出在写操作上,导致主主的架构有很大的局限性。
3)缺点:例如主机A有个注册的插入操作,生成的id是50,同一时刻主机B也有个插入操作生成的id也是50。数据重复、覆盖情况
因此主主只适用于可以双向复制,覆盖的数据(例如用户登录生成的token)。但是我们平日里绝大部分的数据都不允许。
二、集群、分布式
1、集群是个物理形态,分布式是个工作方式。分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。
1)分布式:一个业务分拆多个子业务,部署在不同的服务器上。
2)集群:同一个业务,部署在多个服务器上。
2、分布式
1)分布式中的每一个节点,都可以做集群,因为每个节点都干不同的任务。而集群并不一定就是分布式的。
2)分布式的每一个节点,都完成不同的业务,一个节点垮了,那这个业务就不可访问了。
以上是关于主备 主从 主主 集群和分布式区别的主要内容,如果未能解决你的问题,请参考以下文章