设为首页 加入收藏

TOP

后台架构设计—数据存储层(二)
2017-10-13 10:41:52 】 浏览:2093
Tags:后台 架构 设计 数据 存储
nbsp;       主节点宕掉,则选择新节点;

        主节点常以操作日志的形式同步备节点。

    分两种角色:提议者(Prpposer)、接受者(Acceptor);

    执行步骤:

  1. 批准:Proposer发送accept消息给Accepter要求接受某个提议者;
  2. 确认:超一半的Accepter接受,则提议值生效,Proposer发送acknowledge消息通知所有的Accepter提议生效。

    与2PC比较::

2PC协议保证多个数据分片上操作的原子性;

        Paxos协议保证一个数据分片多个副本之间的数据一致性;

    Paxos协议用法:

        实现全局的锁服务或者命名和配置服务;

            ---Apache Zookeeper

        将用户数据复制到多个数据中心;

            ---Google Megastore

 

数据存储层冗余:

    多个副本,实现访问的高可用性。

    如何实现:

        数据复制:

            基于日志;

            Master-Slave:mysql\MongoDB

            Replic Set:MongoDB

        双写:

            存储层多主对等结构;比较灵活,但数据模块层成本较高;

    数据备份:

        冷备份:

            定期将数据复制到某个存储介质,是传统的数据保护手段;

            优点:简单、廉价,技术难度低;

            缺点:定期存在数据不一致;恢复数据时间长;

        热备份:

            online备份;提供更好的高可用性;

            异步热备份:

                从主存储写入即返回给应用端,由存储系统异步写入其他副本;

            同步热备份:

                多份数据副本写入同步完成,无主从之分;

                为提高性能,应用程序并发写入;

                响应延迟是最慢的那台服务器;

 

数据存储层失效转移机制:

    失效确认:是否宕机、心跳;

    访问转移:访问路由到非宕机机器;存储数据完全一致;

    数据恢复:主从、日志;

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇“老坛泡新菜”:SOD MVVM框架,让.. 下一篇【转载】乐视秒杀:每秒十万笔交..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目