聊聊微服务的架构与应用
1.微服务架构 微服务这个词越来越多的被提到,2014、15年的一波创业大潮, 很多创业公司需要短平快的产品开发,推动了敏捷开发、持续交付以及基于Docker的应用部署的发展,同时微服务结构也开始慢慢流行起来。 2.应用架构演进 (1)垂直应用架构 传统的LAMP架构和Spring+Struts+iBatis/Hibernate的架构都是典型的垂直应用架构,垂直应用架构学习成本低,开发产出快,测试、部署和运维比较简单,在过去的十几年中一直比较流行。 但是随着业务的发展,垂直应用架构逐渐暴露出一些缺陷,以Spring MVC架构为例,可能的表现: 1.复杂应用的开发维护成本越来越高,测试变得困难,部署效率越来越低。 2.团队沟通成本上升,协作变差,难以保证代码质量。 3.类似木桶效应,由于一些短板的存在,系统性能难以保证。 4.维护和定制变得困难,新功能上线周期变长,难以实现快速迭代。 (2)RPC架构 当垂直应用越来越多,应用之间交互不可避免,RPC可以提高业务复用及拆分。 当应用大规模服务化之后,会面临许多服务治理方面的问题。 (3)SOA服务化架构 SOA是一种粗粒度、松耦合的以服...