分布式技术原理与算法解析
聂鹏程
智载云帆CTO,前华为分布式Lab资深技术专家
立即订阅
6099 人已学习
课程目录
已完结 39 讲
0/4登录后,你可以任选4讲全文学习。
课前必读 (3讲)
开篇词 | 四纵四横,带你透彻理解分布式技术
免费
01 | 分布式缘何而起:从单兵,到游击队,到集团军
02 | 分布式系统的指标:啥是分布式的三围
第一站:分布式协调与同步 (6讲)
03 | 分布式互斥:有你没我,有我没你
04 | 分布式选举:国不可一日无君
05 | 分布式共识:存异求同
06 | 分布式事务:All or nothing
07 | 分布式锁:关键重地,非请勿入
08 | 分布式技术是如何引爆人工智能的?
第二站:分布式资源管理与负载调度 (6讲)
09 | 分布式体系结构之集中式结构:一人在上,万人在下
10 | 分布式体系结构之非集中式结构:众生平等
11 | 分布式调度架构之单体调度:物质文明、精神文明一手抓
12 | 分布式调度架构之两层调度:物质文明、精神文明两手抓
13 | 分布式调度架构之共享状态调度:物质文明、精神文明多手协商抓
14 | 答疑篇:分布式事务与分布式锁相关问题
第三站:分布式计算技术 (4讲)
15 | 分布式计算模式之MR:一门同流合污的艺术
16 | 分布式计算模式之Stream:一门背锅的艺术
17 | 分布式计算模式之Actor:一门甩锅的艺术
18 | 分布式计算模式之流水线:你方唱罢我登场
第四站:分布式通信技术 (4讲)
19 | 分布式通信之远程调用:我是你的千里眼
20 | 分布式通信之发布订阅:送货上门
21 | 分布式通信之消息队列:货物自取
22 | 答疑篇:分布式体系架构与分布式计算相关问题
第五站:分布式数据存储 (5讲)
23 | CAP理论:这顶帽子我不想要
24 | 分布式数据存储系统之三要素:顾客、导购与货架
25 | 数据分布方式之哈希与一致性哈希:“掐指一算”与“掐指两算”的事
26 | 分布式数据复制技术:分身有术
27 | 分布式数据之缓存技术:“身手钥钱”随身带
特别放送 (3讲)
特别放送 | 分布式下的一致性杂谈
特别放送 | 徐志强:学习这件事儿,不到长城非好汉
特别放送 | 那些你不能错过的分布式系统论文
第六站:分布式高可靠 (5讲)
28 | 分布式高可靠之负载均衡:不患寡,而患不均
29 | 分布式高可靠之流量控制:大禹治水,在疏不在堵
30 | 分布式高可用之故障隔离:当断不断,反受其乱
31 | 分布式高可用之故障恢复:知错能改,善莫大焉
32 | 答疑篇:如何判断并解决网络分区问题?
第七站:分布式核心知识串讲 (2讲)
33 | 知识串联:以购买火车票的流程串联分布式核心技术
34 | 搭建一个分布式实验环境:纸上得来终觉浅,绝知此事要躬行
结束语 (1讲)
结束语 | 为什么说提升职业竞争力要从尊重、诚实开始?
分布式技术原理与算法解析
登录|注册

26 | 分布式数据复制技术:分身有术

聂鹏程 2019-11-25
你好,我是聂鹏程。今天,我来继续带你打卡分布式核心技术。
在上一篇文章中,我为你讲解了数据分布(也称数据分片)技术,主要用于构建数据索引,是实现“导购”功能的关键技术。数据分布的本质是,将原数据集划分为多个数据子集,以存储到不同的地方,在一定程度上体现了数据的可用性和可靠性(一个存储节点故障,只影响该存储节点的数据)。
我在第 24 讲中介绍“导购”时提到,数据分片和数据复制技术均是实现“导购”的关键技术。其中,数据分片是确定数据位置,数据复制是实现数据可靠性的关键方法。
在实际情况下,仅考虑数据分片,其实是无法真正应用到生产环境的。因为,故障导致数据丢失和不可用是很常见的情况。因此,在进行分布式数据存储设计时,通常会考虑对数据进行备份,以提高数据的可用性和可靠性,而实现数据备份的关键技术就是“数据复制技术”。
接下来,我们就一起打卡分布式数据复制技术吧。

什么是数据复制技术?

概括来讲,数据复制是一种实现数据备份的技术。比如,现在有节点 1 和节点 2,节点 1 上存储了 10M 用户数据,直观地说,数据复制技术就是将节点 1 上的这 10M 数据拷贝到节点 2 上,以使得节点 1 和节点 2 上存储了相同的数据,也就是节点 2 对节点 1 的数据进行了备份。当节点 1 出现故障后,可以通过获取节点 2 上的数据,实现分布式存储系统的自动容错。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《分布式技术原理与算法解析》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(7)

  • 随心而至
    换个说法来划分这三种复制策略,假设需要ack个备库确认,那么:
    1.ack=all,同步复制
    2.ack=0,异步复制
    3.1 ack=1,半同步复制的第一种
    3.2 ack=quorum,或者叫ack=majority,半同步复制的第二种
    2019-11-25
    1
    17
  • xingoo
    Hdfs3的纠删码机制,通过矩阵运算分块存储,任意部分丢失,都可以用其他的部分计算得出。是典型的网络io+cpu计算 换 存储空间的做法。
    2019-11-25
    5
  • Jackey
    对Redis的主从复制知道一些,所以抛砖引玉说一下。Redis有两种复制方法,一种是复制指令流,Redis将写操作记录在一个环形的内存buffer中,然后将buffer中的指令异步同步到从库,从库也会告诉主库自己同步的buffer位置。当网络阻塞严重时,有可能存在没有同步的buffer被覆盖掉,这样会导致数据丢失,Redis就会采用快照同步的方式。将主库的所有key生成一个快照同步给从库,然后再继续从buffer同步。
    2019-11-25
    2
  • GKCY1997
    异步复制可以做到1个RTT的处理时间,但是主节点如果crash,未同步的数据就没了。NSDI今年有篇《Exploiting Commutativity For Practical Fast Replication》,这篇论文很有意思,有兴趣的可以看一下。
    2019-11-25
    1
  • 安排
    MySQL的主备之间的同步不是通过binary log吗?那和这里的raft算法有关系吗?没有看太懂?
    还有本节的数据复制来保证一致性,和之前几节的超过半数节点同意选主的那种一致性是一回事吗?本质都是数据一致性吗?
    2019-12-22
  • 观弈道人
    好文,最后的raft算法部分没看明白,再看。
    2019-11-25
  • 行下一首歌
    我之前了解过一些中间件的复制策略,对比今天的内容,又有更深入的认识了。
    2019-11-25
收起评论
7
返回
顶部