微服务架构 - 蓝图


微服务在内部实现了SOA。从更广泛的意义上讲,我们可以将其视为一个 SOA 应用程序的子集。

规则和工作流程

以下是开发微服务时需要注意的原则。

  • 高内聚- 所有业务模型都需要尽可能细分为最小的业务部分。每项服务应该只专注于执行一项业务任务。

  • 独立- 所有服务本质上应该是全栈并且彼此独立。

  • 以业务领域为中心- 软件将根据业务部门进行模块化,而不是基于层级的。

  • 自动化- 测试部署将自动化。尝试引入最少的人际互动。

  • 可观察- 每个服务本质上都是全栈的,它们应该像企业应用程序一样独立部署和观察。

团队管理

“两个披萨规则”是一种限制微服务开发团队的参与者数量的规则。根据这一规则,一个应用程序的团队成员数量应该足够少,以至于可以吃两个披萨。一般情况下,数量不应超过8个。由于微服务本质上是全栈,因此团队本质上也是全栈。为了提高生产力,我们需要建立一支最多 8 名成员的团队,并拥有该服务所需的各种专业知识。

任务管理

任务在软件开发生命周期中扮演着重要角色。开发大型应用程序可以分解为几个小的任务单元。让我们考虑一下我们需要开发一个应用程序,例如 Facebook。那么,“登录”功能可以被视为整个构建过程的一个任务。每项任务的进展都需要在高技能专业人员的监督下进行适当的监控。敏捷是业界众所周知的流程结构,用于跟上良好的任务管理。