我是靠谱客的博主 可耐仙人掌,最近开发中收集的这篇文章主要介绍分布式系统中的几种数据备份模式. 数据可靠性(基本,),数据一致性(脑裂问题,高可靠性容灾性),数据可用性(数据拆分,读写分离),系统扩展性.,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

分布式两个层面含义:
1. 分布式服务,rpc 调用
2. 分布式数据库

 cap 理论 和 caid 中 c 的区别.
   http://www.infoq.com/cn/articles/cap-twelve-years-later-how-the-rules-have-changed

其中数据的分布式又分
两个维度.

  • 同一份数据 N 个备份.
    CAP (
    一致性就是数据的可靠性,数据的正确性. 非强一致后的关机导致数据丢失,数据不可靠.) 要求数据强一致,且要求可用性高.那就是 zk 的1/2 ,并且主机宕机后要重新选举和数据同步.
    可用性 这个词在CAP理论里面,不只是指服务可以被访问,还有个属性是延迟,因为延迟这个属性很难被量化定义,延迟越低越好。
    )

  • 同一份数据拆成 N 块.
    提高整体并发极限. 数据的迁移,自动扩容,自动缩容. 扩展性.

    本文主要讲的是 分布式数据库中如何多份备份的一致性问题.

大并发,大数据
这里写图片描述
图来自 2010 谭俊青 mysql 数据库集群的高可用设计及应用
**
1. 先备份保证数据简单可靠性,
2. 用paxos来保证数据一致性,数据的高可靠性.
3. 数据备份同步用来保证读可用性.
4. 数据拆分来保证系统水平扩展性.
**
读写分离:读 salve 库,改到 master 库,压力还是太大怎么办?
1.半同步?
2.全同步?
3.不要从同步维度思考,使用 master-master 模式.(从master 转移角度思考.将一部分数据的 master 迁移到另外一台机器上. 把数据拆分和备份完美地整合在一起. )(缺点:索引总量并没有降低)

线下读太多怎么办?
通过slave 或者 hbase 解决,elasearch.
线上读太多怎么办?
线上写太多怎么办?

最后

以上就是可耐仙人掌为你收集整理的分布式系统中的几种数据备份模式. 数据可靠性(基本,),数据一致性(脑裂问题,高可靠性容灾性),数据可用性(数据拆分,读写分离),系统扩展性.的全部内容,希望文章能够帮你解决分布式系统中的几种数据备份模式. 数据可靠性(基本,),数据一致性(脑裂问题,高可靠性容灾性),数据可用性(数据拆分,读写分离),系统扩展性.所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部