单体->集群->模块化->分布式微服务

开头语:

  每篇一段开头语,在技术的道路中寻找文采的乐趣。(如果随笔中都是大白话勿喷,兄弟姐妹们)

单体项目

  单体项目适用于小型开发,或自己来进行小项目的测试和使用。

  单体项目的缺憾

  1. 多人开发项目所出现的冲突问题,pull代码所出现的覆盖问题。
  2. 代码的凌乱问题,新人根本无法快速熟悉代码,并且出现一种新人添加代码不敢乱动,修改点东西只能在上面狂增加判断,导致代码越来越恶心
  3. 代码的迭代就需要大型的重构之类,其中代码的修改交错,一眼望去,非死即残,产生打爆电脑的冲动

集群

  • 集群的出现在于分担一服务器的压力。当一个服务器被击倒,立刻另一个服务器起身抗下担子,在前方英勇无比。集群的权重轮询什么的就不说了,在说有瞎bb的嫌疑了。

模块化

  •  模块化的初衷就是将单体项目拆分,分为几个小模块,最后在进行拼接使用。
  •  模块化每个模块可以放到不同的服务器中,就算服务器挂掉,此功能也不会产生任何的问题。当然也可以集群使用。只不过就是经常被点击访问的多放几个服务器进行集群操作,不太被访问的就扔单个服务器。
  •  就好比电影一样,今天拍一点,我露个脸,明天露个点,最后电影出来,全程我主演。

    

分布式微服务 

  我个人理解,我觉得模块化就是单体项目慢慢的加集群拆分像微服务的转变。

  •   模块化微服务为单个项目中拆分成小模块来使用,但是提交的时候却是一个项目提交。
  •   而分布式微服务则是每个模块是一个单独的项目,比如springcloud想调用别的项目的功能,就是靠feign来进行调用另一个项目中controller中的功能。每一个提交都是单独项目的提交。

  还有这个微服务和分布式的区别,我个人觉得,区别仅仅是分布式取消了自己写的熔断网关负载之类的措施,而整合起来来进行更简便的使用。

结语

  如果理解有问题的话,希望有兄弟可以稍微引导下,哪怕一丢丢,感激不尽。

原文地址:https://www.cnblogs.com/honour1207/p/13995036.html