作者:YYGCui
出处:http://blog.cuicc.com/blog/2015/07/22/microservices/
“微服务架构”描述了一种将软件应用程序设计为一组可独立部署的服务的特定方式。
微服务的特征:自动化部署,端点智能化,语言和数据的去中心化控制。
微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并且可通过全自动部署机制独立部署。这些服务共用一个最小型的集中式的管理,服务可用不同的语言开发,使用不同的数据存储技术。
单体应用程序被构建为单一单元,系统的任何改变都将牵涉到重新构建和部署服务端的一个新版本。随着更多的应用程序被部署在云上。变更周期被捆绑在一起 —— 即使只变更应用程序的一部分,也需要重新构建并部署整个单体。长此以往,通常将很难保持一个良好的模块架构,这使得很难变更只发生在需要变更的模块内。
微服务架构风格:构建应用程序为服务套件。除了服务是可独立部署、可独立扩展的之外,每个服务都提供一个固定的模块边界。甚至允许不同的服务用不同的的语言开发,由不同的团队管理。
产品思想与业务能力紧紧联系在一起。要持续关注软件如何帮助用户提升业务能力,而不是把软件看成是将要完成的一组功能。
基于微服务构建的应用程序的目标是尽可能的解耦和尽可能的内聚