有些文章说分布式就是不同的组件。
这种说法是不对的,同一个组件也可以,关键在于是否通过交换信息的方式进行协作。
比如说Zookeeper的节点都是对等的,但它自己就构成一个分布式系统。
也就是说,分布式是指通过网络连接的多个组件,通过交换信息协作而形成的系统。
而集群,是指同一种组件的多个实例,形成的逻辑上的整体。
可以看出这两个概念并不完全冲突,分布式系统也可以是一个集群,例子就是前面说的zookeeper等,它的特征是服务之间会互相通信协作。
是分布式系统不是集群的情况,就是多个不同组件构成的系统;
是集群不是分布式系统的情况,比如多个经过负载均衡的HTTP服务器,它们之间不会互相通信,如果不带上负载均衡的部分的话,一般不叫做分布式系统。
比如zk,3台机器的一个集群。从系统应用来看zk,他就是集群,因为他为我们提供了一样的服务。但是这个集群内部,主从之间又有不同的分工,主负责写,从负责读,主从之间又要通过长连接来同步数据副本,这样看,他又是个分布式系统了。redis也是,kafka 也是…
11-02
409