这是我参与【第五届青训营】伴学笔记创作活动的第四天。
一、本节课的主要内容
包括六个大方面,分别是分布式概述、系统模型、理论基础、分布式业务、共识协议、分布式实践。
二、详细知识点介绍
什么是分布式
分布式系统是计算机程序的集合,这些程序利用跨多个独立计算节点的计算资源来实现共同的目标,可以分为分布式计算、分布式存储、分布式数据库等。
优势:
1.去中心化2.低成本
3.弹性
4.资源共享
5.可靠性高
挑战:
1.普遍的节点故障2.不可靠的网络
3.异构的机器与硬件环境
4.安全
文件存价
数据库系统
数据库同步系统
面存系统
三、实践练习例子
MVCC 是一种并发控制的方法,维持一个数据的多个版本使读写操作没有冲突。所以既不会阻塞写,也不阻塞读。 MVCC 为每个修改保存一个版本、和事务的时间戳相关联。可以提高并发性能,解决脏读的问题。
Spanner 论文里通过 TrueTime API 提供一个物理时钟的方式。服务器时钟偏差在1到7ms之间。
S1提交事务时间:s1= max (15.7+7)=15ms T1s1=15
s2提交事务时间:s2= max (13.12+7)=19ms T2s2=19
另外一种时间戳的实现:时间戳预言机( TSO ),采用中心化的授时方式,所有协调者向中心化节点获取时钟。优点是算法简单,实现方便,但需要每个节点都与他进行交互,会产生一些网络通信的成本, TSO 的授时中就需要考虑任延迟,高性能以及更好的容错性。
四。、课后个人总结
学完课程后,让我对分布式理论的知识点有了更加清晰和深刻的理解。对后端这个岗位有了更清晰的了解。了解到了后端发展的历程,扩宽了我的知识面。