微服务(读书笔记)

        微服务架构是一种架构模式,它提倡将单一应用程序划分红一组小的服务,服务之间互相协调、互相配合,为用户提供最终的价值。每一个服务运行在其独立的进程中,服务与服务之间采用轻量级的通讯机制互相沟通(一般基于HTTP的RESTful API)。每一个服务都围绕着具体业务进行构建,而且可以被独立的部署到生产环境、类生产环境等。另外,应尽可能避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。架构

                                                                                                ------------摘自马丁。福勒先生的博客运维

 

        Docker的出现,有效地解决了微服务架构下,服务粒度细,服务数量多所致使的开发环境搭建、部署以及运维成本高的问题。同时,利用Docker的容器化技术,可以实如今一个节点上运行成百上千的Docker容器,每一个容器都能独立运行一个服务,所以极大下降了随着微服务数量增多所致使的节点数量增多的成本。微服务

 

微服务的本质:工具

  1. 服务做为组价
  2. 围绕业务组织团队
  3. 关注产品而非项目
  4. 技术多样性
  5. 基础设置自动化
  6. 演进式架构

微服务的优点:测试

  • 独立性:每一个服务都是独立的业务单元,可以被独立地开发、测试、构建,而且可以被直接部署。
  • 单一职责:每一个服务聚焦于某业务功能,经过清晰的边界划分,更容易被团队理解和维护。
  • 技术多样性:经过服务间的协做以及轻量级的通讯方式,组织团队使用适合的语言、工具解决业务问题。除此之外,微服务的实施也会推进基础设施自动化以及DevOps文化在团队中的发展,并利于构建全功能团队。