一、分布式系统的组成
二、分布式协调组件
单机:进程间通信的可行措施有共享内存,信号量,事件
单机系统有单点故障缺陷
分布式协调组件的作用:对外提供分布式同步服务
一个协调组件内部也是由多个节点组成,节点间通过分布式一致性协议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
标签:第一章,满足,概述,孤岛,分布式系统,一致性,节点,分布式 From: https://www.cnblogs.com/yb38156/p/16897872.html