分布式系统的思想

74 阅读2分钟

为什么需要分布式系统?

传统的单机系统的计算达到了瓶颈,遇到大量计算的时候,需要多态计算机进行协同运算,这个时候分布式架构是一种比较好的方式。

分布式架构和集群有什么区别

集群是一群计算机放在一起共享存储设备以及网络设备的。 分布式架构强调一个个的计算之间的相互协调,计算机之间是独立的。

比喻: 集群相当于一个大的领导带领一群人做一个项目, 分布式相当于一个个独立的员工工作,将最终的工作结果进行汇总。

分布式系统实现的指导思想是什么?

CAP 理论 CP 思想 MongoDB,分布式数据库,对于数据的一致性要求比较高一些

AP 思想 Kafka:kafka 对于可用性的要求比较高一些。

Redis 对于一致性的要求低一些,因为作为缓存,设计之初,是为了达到高度可用性以及分区容错性的。

Nacos 同时支持 CP 以及 AP 理论

选择 AP 还是 CP 需要看

BASE 理论

BASE 是对于 CAP 理论的进一步扩展。 C 一致性 E 最终一致性 A 可用性 BA basic available 基本可用 P 分区容错性 S soft 软状态

基本可用:就是对于分布式系统可用性的要求降低了,可能是降低了相应时间,或者是失去了某些分布式系统的功能的基本可用

软状态:分布式系统中的数据允许中间状态的存在,也就是说在一定实践中,允许分布式系统中不同节点的数据是不一致的。

最终一致性:分布式系统中的数据在经过一段时间之后,不同节点的数据满足一致性,只不过是需要等待一段时间来完成。

为什么分布式系统可用性 A 和一致性 C 难以同时满足?

因为对于分布式系统,想要一致性好的话,那么分布式系统在相应时候的时间是比较长的,那么保证了一致性,可用性就下降了。

保证了可用性,也就是使得分布式系统对于用户的相应可以快速的回复,那么带来的问题就是系统的数据一致性没有那么好了。

所以说分布式系统中的 A C 难以同时实现,为了保证分布式系统的分区容错性,根据实际的应用场景,选择合适的 AP 或者 CP 系统。

为什么要叫做一个分布式系统

因为分布式程序太过复杂,由很多的程序组合而成的,其复杂程度超过了普通的软件,所以叫做一个系统