高可用存储解决方案

复制

存储高可用的方案,都是通过复制来实现的。如何复制、故障转移、复制延迟等问题是高可用解决方案需要思考的。

高可用不包括一致性,如Redis哨兵模式是高可用的,但是主从切换时可能会丢数据。

高可用不同于鲁棒性,鲁棒性指的是系统的健壮性【耐操】,应对的是参数错误、磁盘故障、网络过载等情况下系统能否不崩溃;而高可用性是针对于集群而言,集群中某个节点挂掉,不影响整个集群的运作。

主备复制


主备复制 :主节点用于读写,并将数据复制到备用节点。

备用节点只是用于备用,如果主节点正常运作,那么备用节点就只是复制数据。如果主机故障,那么系统则不可用;需要人工将备份节点升级为主机。

优点 :简单。

缺点

  • 备用节点只是用来备份,浪费机器性能
  • 主节点故障时,需要人工操作才能故障转移,这个期间系统是不可用的,比较麻烦。
  • 主备复制有延迟,如果延迟比较大,那么可能会丢数据。

适用于 :各种管理系统,很少对数据做改动。

主从复制


主从复制 :主节点用来写或者读,从节点用来读,主节点将数据复制到从节点。

如果主节点宕机,那么系统无法进行写操作,但是可以进行读操作。如果搭配主从切换,则切换更简单。

主从复制存在延迟,可能会出现不一致的情况,如刚发布一个状态就去从库读,可能读不到。应对方法是,

  • 写后立刻读,去主库去读。
  • 对复制延迟监控,如果延迟大于某个阈值,则提醒人工干预。

优点 :充分利用了从节点的性能,避免闲置。

缺点

  • 主从切换需要人工干预

适用于 :论坛这种情景,写少读多的情况。

主主复制


都是主节点,互相将自己的数据复制给对方,不用考虑主从切换的事情。客户端轮询去访问就可以了,一个不行就换一个。

主主复制看上去比较简单,但是也要很多缺点 :

  • 数据需要双向复制,互为主从。当有两个主节点还比较好理解,但如果是三个以上的节点呢?每个节点都需要把自己的数据复制给其他节点,这也是一种性能损耗。
  • ID怎么设置?如果是自增的,那么可能会出现两个节点同时插入,产生的ID是相同的,因此会冲突。可能要使用雪花ID来避免。但是这样又增加了系统复杂度

复制的架构

复制的方式有多种,复制的架构也有不同种类。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值