单体引用,分布式,微服务,集群区别?

以上全是一个名菜鸟理解并手写的,希望对你们会有帮助,记得关注点赞哈:

1.单元引用:

刚开始工作的时候创建一个应用,将所有的页面也放到这个项目里,将代码还有页面都放在这一个项目中,然后把整个应用打成war包部署在tomcat里面,这个应用就跑起来了.这是传统web应用的,现在感觉这种模式也有很多的优点的,你看哈当时开发测试很简单很容易简单的都不需要单元测试,因为都是一个应用不牵扯不同应用的互联互调,所以这个开发测试都很简单的,这个部署呢也非常简单,只需要把整个应用打成war包就行了,然后把war包放到服务器的,感觉也挺简单的,而且扩展也挺好扩展的,当这个应用不行了呢,那么相同的应用我们就来复制10几份,放在10几个服务器里面,这10几个服务器都来跑,我们通过负载均衡机制,就来跑着10几个就好了,这么做也又一个缺点给就是也能看出牵一发动全身的,有可能因为我们一个小小的修改,整个应用能呢都要重新部署,重新运行,更大的挑战是我们日益增加的软件需求.

2.微服务:

将一个项目按照功能模块拆散开,将每个功能部署在不同的服务器上,这些小型服务都在各自独立的进程中运行,服务之间通过基于http的restful api进行通信协作,微服务属于分布式.

3.分布式:

分布式:理论上你可以把你的数据库+应用服务+消息列表+缓存+用户上传的文件+日志+等等都放在一个服务器上,这样子隐患会很大,正常的分布式架构,是都拆开,你的应用服 务器集群+加上文件服务集群+数据库集群+等等。将一个项目分布到不同的服务器上就是这个意思,每个服务器需要使用远程通信,也包括数据库也分布在不同的计算机上,来完成一个任务.

4.集群

集群则是通过提高单位时间内的任务来提高效率,就像复制多个一样,两个服务器两个tomcat有两套一模一样的集群。例如:

如果一个任务由10个子任务组成, 每个子任务单独执行时间是一个小时,则一台服务器上执行任务需要10小时(这个模式是典型的分布式开发模式)

而采用集群方案,同样提供10台服务器,每个服务器都能单独处理这个任务,假设有10个任务同时达到,10服务器将同时达到这样整体来看就是1个小时内完成的任务。

 

 

 

你可能感兴趣的:(我咋这么牛拜呢)