关于集群,分布式,微服务的理解

   网上关于这几个词的解释,各种五花八门的都有。有得解释得还不错,有些人就瞎扯了,容易给初学者误导,所以我打算写一遍关于自己的理解,希望能给人有所帮助以及作为自己老年痴呆后的复习材料。

传统小项目因为业务简单,所以通常就是将所有的业务都写在一个系统里,布置在一个服务器上,这种缺点就是当访问量大的时候,一个服务器就撑不住了。这时候就引入了“集群”的概念。所谓集群,就是将项目复制为多份,布置在多个服务器上,理论上可效率以为其提高N(N指服务器的数量)倍。但是这种方式的工作方式又需要通常将请求均衡给各个服务器(你想啊,为了提高效率,肯定要将请求均衡给各个服务器,雨露均沾嘛)。所以在这之前,需要一个角色能控制请求,并且将请求发给相应的服务器,这个角色有个响亮的名字叫做“负载均衡”(Nginx).例图如下

但是这种方式也有弊端,就是当到达一定程度的时候,无论你怎么加服务器,效率都不会怎么提高。所以为了解决这个问题,引入分布式概念,分布式。其实就是拆分服务,将一个大的系统划分为多个业务模块,业务模块分别部署到不同的机器上,各个业务模块之间通过接口进行数据交互。区别分布式的方式是根据不同机器不同业务。

 

“分布式也是属于微服务的,他的意思也就是将模块拆分成一个独立的服务单元通过接口来实现数据的交互。它的设计是为了不因为某个模块的升级和BUG影响现有的系统业务。微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器

你可能感兴趣的:(关于集群,分布式,微服务的理解)