一个朋友刚刚进行了他的一次面试,在面试中面试官和他提到了让他简单地说说什么是分布式系统
我发现我也不知道,赶紧去搜了百度
-
分布式系统
-
百度百科中提到“分布式系统(distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。”
- 内聚性:也称为内聚力,是一软件度量,是指机能相关的程序组合成一模块的程度,或是各机能凝聚的状态或程度。
- 耦合性(Coupling),也叫耦合度,是对模块间关联程度的度量。
-
而进一步查到分布式软件系统(Distributed Software Systems),是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统。它包括分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。
-
再一次细分后 分布式处理(distributed processing)和并行处理(Parallel processing)并行处理是为了提高并行处理速度采用的两种不同的体系架构。
- 并行处理是利用多个功能部件或多个处理机同时工作来提高系统性能或可靠性的计算机系统,这种系统至少包含指令级或指令级以上的并行。 分布式处理则是将不同地点的,或具有不同功能的,或拥有不同数据的多台计算机通过通信网络连接起来,在控制系统的统一管理控制下,协调地完成大规模信息处理任务的计算机系统。
-
-
分布式系统的CAP理论
分布式有三个指标
- CAP (Consistency、Availablity 、Partition-tolerance )
1.Consistency 一致性:
分布式系统的数据备份在同一时刻 必须是同样的2.Availablity 可用性:
在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求,即使集群中的某个结点宕机了,依旧不影响你的任何请求。(我的理解:就算一部分节点毛病也不影响整体。客户端可以继续正常得到相应)3.Partition 分区容忍性:
就是说 将所有的集群中的机器分成两个部分,这两个部分不能进行任何通信,看是否影响系统继续工作