微服务架构 - 蓝图

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

规则和工作流

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

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

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

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

  • 自动化 −测试部署将实现自动化。尽量减少人机交互。

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

团队管理

"两个披萨规则"是一种限制微服务开发团队参与人数的规则。根据此规则,一个应用程序的团队成员数量应该很少,以便两个披萨就能喂饱他们。一般来说,人数不应超过 8 人。由于微服务本质上是全栈的,因此团队本质上也是全栈的。为了提高生产力,我们需要建立一个最多 8 名成员的团队,他们具备该服务所需的各种专业知识。

任务管理

任务是软件开发生命周期中的重要角色。开发大型应用程序可以分解为几个小的任务单元。假设我们需要开发一个应用程序,例如 Facebook。那么,"登录"功能可以被视为整个构建过程的一项任务。这些任务的进度都需要由高技能的专业人员进行适当监控。敏捷是业界遵循的众所周知的流程结构,以跟上良好的任务管理。