一、分布式系统的组成

 

 

 二、分布式协调组件

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

单机系统有单点故障缺陷

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

一个协调组件内部也是由多个节点组成,节点间通过分布式一致性协议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

 

原文地址:http://www.cnblogs.com/yb38156/p/16897872.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性