一、什么是分布式系统

一个分布式系统要求各节点分布在网络上,并 通过消息传递来合作完成一个共同的目标。

分布式系统的三大关键特征:

1、节点之间并发工作;

2、没有全局锁;

3、否个节点上发生的错误不影响其他节点。

分布式系统的好处在于可扩展性,只需要加入新的节点就可以自由扩展集群的性能。

二、分布式系统的前提

分布式系统存在的前提是:解耦,通过某种手段让系统的某些部分解耦合,互相能够不依赖对方单独存在,并单独“运行”。“解耦设计”是一个系统具有良好的性能的灵魂所在。那么一般的系统通过什么方式进行解耦呢?“中间层”的形式,让系统分层,这个“中间层”可能是消息队列,也可能是某种“资源池”。系统虽然可以被解耦,但是绝对不能割裂,一个被割裂的系统最终也只是一个信息孤岛,失去了能够在互联网世界中存在的必要性,因此也没有存在的意义。如此,我们不难理解,这个中间层就是来做“通信”的。

1、面向接口编程;

2、面向消息编程;

3、事件总线框架;

分布式对象存储-可扩展的分布式系统--Go语言实现

一文读懂Kafka的基本原理:

https://www.cnblogs.com/sujing/p/10960832.html

相关文章: