单点故障的情况不可避免,而且单副本的存储方案早已无法满足业务的可靠性要求,单机可靠性就就两个9,也就是一年大概有3.65天不可用。因此一般情况下我们至少也会上个双机存储架构。凡事最好有个plan B。
主备
主:主机,备:备机。 主机的意思当然是以它为主了,读写都是主机上,而备机呢就是备用,默默的在背后吸收主机的数据,时刻待命着等待主机挂了之后取而代之(没这么坏哈哈)。因此在主机还活着的情况下,备机的唯一使命就是同步主机的数据,不对外提供服务。
优点:简单,主备之间只有数据同步,不需要考虑别的情况。就很简单的配置一下,再搞一台服务器就能组成主备架构了。
缺点:备机等于就拿来备份,浪费了备机这台服务器的资源。上面说的不考虑别的情况指的是主机和备机它们两之间就只要复制数据,但是有些情况我们人还是得考虑的:主机挂了如何让备机上。
有三种选择
1.人工切换。人工切换时效性不高,出了事情首先你得开机,登录远程一阵啪啪得好几分钟或者万一你在LOL,黑铁晋级青铜最后一把努力了几个月即将晋升倔强青铜的一刻!是吧。还要万一在深夜或者说....是吧。
2.引入中间件。例如ZooKeeper、keepalived。就跟好多房东把房子委托给中介一样,这中间件就是个中介。全权由中介来打理主机和备机,它会根据机子状态来判别这时候是不是该备机上了。(建议)
3.主机备机之间状态传输(咱不找中介了,自己来打理),啥意思呢?就是除数据同步,主备之间还要有个状态传输过程,来让备机只要现在主机过得好不好,可以是主机主动推送它的状态给备机,或