这是我参与「第五届青训营 」伴学笔记创作活动的第 8 天
课堂笔记
- 本堂课的知识要点有哪些?
分布式的定义
故障模型
CAP理论
ACID理论
- 本堂课介绍了哪些知识点?
分布式的定义:分布式系统是计算机程序的集合 ,这些程序利用跨多个独立计算节点的计算资源来实现共同的目标。可以分为分布式计算、分布式存储、分布式数据库等。
优势:
- 去中心化
- 低成本
- 弹性
- 资源共享
- 可靠性高
挑战:
- 普遍的节点故障
- 不可靠的网络
- 异构的机器与硬件环境
- 安全
故障模型:
-
硪盘故障:磁头不寻道、盘片不转、磁介质损伤等。年发生率1-2%
-
磁盘坏道、坏块 :磁头划伤引起坏道,或受宇宙射线影响晶体管产生位反转
-
服务器主板、板卡故障 :可能是风扇故障,或灰尘引起的短路,或SCSI/RAID卡造成的死机
-
网络故障 :电源故障、背板故障等,网卡位反转、网络流量大造成大量丢包等
-
网络分区 :网络引起节点形成不同的子集,子集中网络相通,子集间网络不通
-
内存故障 :内存出错造成的数据被篡改,分为UE、CE两种
-
线缆故障 :服务器光模块频繁up或down
-
内核崩溃 :内核内部的致命错误,产生的kernel panic
-
CPU故障 :年故障率接近1%
-
电源故障 :服务器失去电力支撑
-
软件故障 : 如:进程crash、内存踩坏、状态不一致、配置错误、软件bug等
CAP理论:
C:一致性,指数据在多个副本之间能够保持一致的特性(严格的一致性)
A:可用性,指系统提供的服务必须一直处于可用的状态,每次请求都能获取到非错的响应,但是不保证获取的数据为最新数据
P:分区容错性,分布式系统在遇到任何网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务,除非整个网络环境都发生了故障
ACID理论:
原子性(A):原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。
一致性(C) :一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态
隔离性(I)。隔离性是当多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作所千扰,多个并发事务之间要相互隔离
持久性(D)。持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统週到故障的情况下也不会丢失提交事务的操作
- 本章有什么知识点不容易掌握?
需要对计算机网络有非常强大的理解和认知才看得懂