微服务架构、分布式架构、传统架构演化过程洞悉!


1、传统开发框架: 简单讲就是SSH框架!!! 即小白入门学的MVC服务,整个业务都放到一个项目里进行开发 简单的分为控制层,业务逻辑层,数据库操作层三层: Controller; Service; Dao; 适合小项目,个人开发,比如做个小的问卷调查系统,业务层就是一些button和要给按钮,控制层接收action后转发给数据层,数据层保存数据,打包成jar发布,就酱。然而这样高耦合的开发方法,很容易出现一个部分出了问题,其他地方都要修改的惨烈状况! 而且随着项目的变大,开发人员的增多,如果所有的业务都在一个项目里开发,带来了一些问题,例如: 任务怎么分配呢?好像不好分惹! 各自写的代码怎么整合呢? 想想都很巨烦! 人们为了解决这样的问题,于是想到了 2、分布式架构: 既然项目大了,我们就分而治之,将其拆分成n个小项目,比如一个小商城的网站,查分成订单项目,支付项目,会员项目等等,每个项目的数据库都独立开来,你写你的我写我的,好和谐! 这就是我们熟悉的用Maven聚合项目!!! 最终打包成一个war包,就酱,一般小型的互联网公司开发就到这里就可以了。 然而,再大一点的公司呢??? 比如小商城变成了下一个阿里巴巴。该怎么办???越来越复杂的业务逻辑驱动着研究者开发新的网路框架,于是有了 3、SOA:微服务架构 服务和项目的区别在于:项目包含了控制层和业务层,也就是说用户看到的网页和处理这个网页中动作的那些个controller都是这个项目的内容,而服务,不包括网页层!!!服务把一些共同的业务操作拆分成一个个项目分别进行部署,不同的服务之间通过远程调用来实现,对外我们看到的服务就是她所提供的接口。举个例子吧: 前台项目后台项目都在调用服务,现在知道这其中换汤不换药的做法了吧!!! 4、微服务框架 再后来,人们发现服务搞到一起也会发生混乱,于是想粗了微服务!!! 比如但就一个会员服务就有可能包括大会员服务,小会员服务,白金会员服务,黄金会员服务等等,这些服务有着各种区别,于是细分之后在部署,就成了微服务框架!!