1 介绍2 各架构介绍
单体应用架构MVC (Modle View Controller) 架构RPC (Remote Procedure Call)架构SOA (Service Oriented Architecture)架构微服务架构 参考
1 介绍
优点:
容易测试容易部署
缺点:
开发效率低代码维护难部署不灵活(如构建时间特别长,如任意小的修改,需要重新构建整个项目)稳定性不高(如任一一个小问题,可能让你整个系统挂掉)扩展性不够(如购物场景,商品服务和订单服务,浏览的人比下单的人多,商品服务的流量会大一点。如果是微服务,商品服务部署10台,订单服务部署5台) MVC (Modle View Controller) 架构
当业务规模很小时,将所有功能都部署在同一个进程中,通过双机或者前置负载均衡器实现负载分流;此时,用于分离前后台逻辑的 MVC 架构是关键。
代表技术:Struts2、springMVC、Spring、Mybatis 等等。
当垂直应用越来越多,应用之间交互不可避免,将核心和公共业务抽取出来,作为独立的服务,实现前后台逻辑分离。此时,用于提高业务复用及拆分的 RPC 框架是关键。
代表技术:Thrift、Hessian等等。
随着业务发展,服务数量越来越多,服务生命周期管控和运行态的治理成为瓶颈,此时用于提升服务质量的 SOA 服务治理是关键。
表技术:Mule、WSO2
随着敏捷开发、持续支付、DevOps 理论的发展和实践,以及基于 Docker 等轻量级容器 (LXC) 部署应用和服务的成熟,微服务架构开始流行,逐渐成为应用架构的未来演进方向。通过服务的原子化拆分,以及微服务的独立打包、部署和升级,小团队敏捷交付,应用的交付周期将缩短,运营成本也将大幅下降。
代表技术:SpringCloud、dubbo等等特征如下:
1)小,且只干一件事情
2)独立部署和生命周期管理
3)异构性
4)轻量级通信。RPC或者Restful
参考
1、
2、《分布式服务框架原理与实践》 作者 李林峰
3、MVC、 RPC、SOA 和 微服务架构异同
4、MVC、RPC、SOA、微服务架构之间的区别
5、微服务架构的前世今生
6、微服务演进史



