微服务是强调小型短暂组件的SOA。
整体性架构的局限性:
传统的整体式设计将:展示、应用程序逻辑、业务逻辑、DAO打包在一起,同一个归档文件。
SOA之后,应用程序基于服务开发,如餐馆订座的例子,将客户、订单、分析、展示均独立起来,封装成API。将所有服务、组件打包一起。
微服务场景:每个组件都是自主的(独立开发、构建、测试和部署)。
整体式应用扩展,需要整体扩展。扩展式一维的。而微服务只对需要扩展的服务进行扩展,允许对资源的最优利用。
微服务开发使用REST式的WEB服务开发。服务器端无状态、水平扩展。
故障时版本回滚:
整体式应用程序,阻碍代码模块化部署。
微服务,单一服务回滚。
微服务可以以最小成本尝试新技术。
整体式应用程序与敏捷开发结合发挥不出效果。
微服务减轻了开发工作量。
容器化部署有优势,不需要关注内在。