第一章 分布式系统概述

一、分布式系统的组成

 

 

 二、分布式协调组件

单机:进程间通信的可行措施有共享内存,信号量,事件

单机系统有单点故障缺陷

分布式协调组件的作用:对外提供分布式同步服务

一个协调组件内部也是由多个节点组成,节点间通过分布式一致性协议Paxos,Raft等来协调彼此的状态

三、分布式存储系统

分布式文件系统:HDFS

分布式数据库系统是在文件系统上的进一步抽象,大都采用最终一致性设计

一致性理论有哪些?

ACID属性:强一致性,分别为原子性(Atomicity),一致性(Consistency),隔离性(Isolation)和持久性(Durability)

CAP理论:在分布式系统中,没有办法同时达到一致性(Consistency),可用性(Availability)和网络分区可容忍性(Tolerance to Network Partitions)

只能三选其二

最终一致性:在“有穷”的时间内,各个节点上的数据最终会收敛到一致的状态,这里的“有穷”通常指很短暂的时间,几分或几秒就算比较长了

网络分区可容忍性:指一个分布式系统中是否允许出现多个网络分区,即如果网络断开,允许一个系统中的多个节点被分成多个孤岛

为什么三者不可同时满足?

如果满足P,那么当孤岛产生时,要么继续提供服务(即可用性),要么停止服务(即满足一致性)

同时在分布式系统中,孤岛是不可避免的,因此只能在C和A之间做选择

满足ACID的数据库:常见的关系型数据库如mysql

有哪些满足最终一致性的数据库?

基于键值对的:Redis,Memcached

基于列存储的:HBase,Cassandra

基于文档的:MongoDB

基于图的:Neo4j,OrientDB

四、分布式计算系统

批处理:一次性处理大批量数据,DataSet可拆分,可独立计算,各个数据集之间无依赖关系;特点是耗时,不实时,分而治之思想,如MapReduce

流处理:微批处理如Spark,以及真正的流处理如Storm和Flink

五、分布式系统中节点间关系

主从式:HDFS,HBase

对等式:Cassandra

 

posted @ 2022-11-16 22:57  鼠标的博客  阅读(64)  评论(0编辑  收藏  举报