Microservice Architecture 简明教程

Microservice Architecture - Blueprint

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

Rule & Workflow

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

  1. High Cohesion − 所有业务模型都应尽可能细分到最小的业务部分。每项服务都应专注于只执行一项业务任务。

  2. Independent − 所有服务都应本质上是全栈且相互独立的。

  3. Business Domain Centric − 软件将根据业务单元模块化,而不是基于层。

  4. Automation − 测试部署将自动化。尽量减少人工交互。

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

Team Management

“两披萨规则”是一种限制微服务开发团队内参加者数量的规则。根据此规则,一个应用程序的团队成员数量应尽可能少,以至于两份披萨就能满足他们的需求。一般来说,该数量不应超过 8。由于微服务本质上是全栈的,因此团队也是全栈的。为了提高效率,我们需要建立一个由不超过 8 名拥有该服务所需所有专业知识的成员组成的团队。

Task Management

任务在软件开发生命周期中扮演着重要角色。将大型应用开发分解为若干个小任务单元。假设我们需要开发一款如 Facebook 这样的应用程序,那么“登录”功能可视为整个构建过程中的一个任务。在高技能专业人员的监控下,需要适当地监控这些任务的进度。敏捷是业界遵循的知名流程结构,用于满足良好的任务管理。