看dubbo文档的时候,看到里面讲“垂直架构”一直不明白什么意思。遂百度之,我理解垂直结构指的就是分层,就是将一个业务拆分为几部分,而不是一条线下来。


单一应用

    所有的业务都写在一个工程里面,一个项目就搞定了所以的事情

    优点:(1)简单,上手快

    不足:(1)业务直接耦合太强,比如,如果其中某一个地方有问题的话,会拖垮整个应用,这就会影响到其它本来正常的业务。另外一个是,一个很小的改动都会导致整个项目要重新发布


分布式应用

    将一个大的业务拆分成不同的小的模块,它们共同协作来完成某个任务(业务),这些模块是分离的并不在一起,然后通过远程调用的方式进行通信,外部看起来是一个整体,内部其实不然,我觉得也可以理解为RPC应用

    优点:(1)在一定程度上解耦

              (2)性能相比有提升,扩展性更快

    不足:(1)随着这种小的模块越来越多,模块之间的调用关系会越来越复杂,不便于维护和管理

              (2)远程过程调用会使得代码量会急剧增加


微服务应用

    微服务应用突出的特点在于服务治理,每个服务独立部署运行

    优点:(1)结构清晰,职责单一,高内聚,




参考:https://yq.aliyun.com/articles/224465?spm=5176.8661223.0.0.lMvjkq

          http://cloud.51cto.com/art/201510/493867.htm

本文转自   手不要乱摸  51CTO博客,原文链接:http://blog.51cto.com/5880861/1977865