软件架构设计(五) 软件架构风格-微服务

微服务的概念

微服务顾名思义,就是很小的服务,所以它属于面向服务架构的一种。

微服务架构是一种架构模式,它提倡将单一应用程序划分为一组很小的服务(其实就是功能独立,职责单一),服务之间互相协调,相互配合,为用户提供最终价值。

微服务架构风格中每个微服务都运行在独立的进程或物理机中,服务与服务之间采用轻量级的通信机制相互沟通(通常使用HTTP协议的RESTful API获取)。

每个服务都围绕着具体的业务进行构建,并且能够被独立部署到生产环境、类生产环境等。

另外,应当尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。

微服务的特点

  • “微”,就是小,也就是功能职责单一,专注于做一件事情。
    • 但是这个“微”不好界定,一般根据业务情况,尽可能的关注的是很小的一块业务。也就是根据业务边界来确定服务边界,只要服务领域驱动设计(DDD),专注完成某块不可再分的业务即可。
  • 轻量级通信机制
    • 正是因为服务比较小,所以通信也应该比较轻量级
  • 服务内部高内聚,低耦合
    • 服务的功能要跟别的模块耦合度低,最好不依赖其他模块或服务。
  • 可以独立部署
    • 每一个微服务都可以独立的进行部署,可以通过服务编排和容器化部署统一进行部署。

你可能感兴趣的:(架构师考试备战,微服务,架构,云原生)