分布式、微服务、集群的区别

才开始接触的时候我对这三个概念真的是一头雾水,尤其是对分布式和微服务的区别,下面就以我自己的理解介绍一下这三个概念

一、集群(典型的系统部署方式)

集群:同一个应用,部署在多个服务器上

就是相当于单应用的多次拷贝,分散部署在多个物理服务器,多台服务器部署相同应用构成一个集群

作用:通过负载均衡设备共同对外提供服务,从而缓解服务器压力

二、分布式(分模块的系统部署方式)

分布式:同一个应用拆分为不同功能模块,按模块部署在不同服务器上;

作用:以 分散模块 的方式来达到 分散压力 的目的,分布式解决网站高并发带来问题,

三、微服务(架构设计方式)

微服务相比分布式服务来说,它的粒度更小,服务之间耦合度更低,由于每个微服务都由独立的小团队负责,因此它敏捷性更高,分布式服务最后都会向微服务架构演化,这是一种趋势, 不过服务微服务化后带来的挑战也是显而易见的,例如服务粒度小,数量大,后期运维将会很难

四、三者的对比

1、分布式 VS 集群

分布式,从窄意上理解,也跟集群差不多,但是它的组织比较松散,但又不像集群,有一个组织性

集群:一台服务器垮了,其它的服务器可以顶上来。

分布式:每一个节点,都完成不同的业务,一个节点垮了,那这个业务就不可访问了。

好的设计应该是分布式和集群的结合,先分布式再集群,具体实现就是业务拆分成很多子业务,然后针对每个子业务进行集群部署,这样每个子业务如果出了问题,整个系统完全不会受影响。

2、分布式 VS 微服务

分布式:分散压力(其实也不准确,也可以说是:以 分散能力 的方式来达到 分散压力 的目的)

微服务:分散能力(目的就是分散能力,从而达到功能间的解耦)

微服务的设计是为了不因为某个模块的升级和BUG影响现有的系统业务。

微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器

分布式和微服的架构很相似,只是部署的方式不一样而已。

简单的说,微服务是架构设计方式,分布式是系统部署方式,两者概念不同

发布了69 篇原创文章 · 获赞 43 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/fox_bert/article/details/99637646