微服务架构 - 蓝图
微服务在内部实现 SOA。从更广泛的意义上讲,我们可以将其视为一个 SOA 应用程序的子集。
规则和工作流
以下是在开发微服务时需要注意的原则。
高内聚 − 所有业务模型都需要尽可能细分为最小的业务部分。每个服务都应专注于仅执行一项业务任务。
独立 − 所有服务本质上都应该是全栈的,并且彼此独立。
以业务领域为中心 − 软件将根据业务单元进行模块化,而不是基于层级的。
自动化 −测试部署将实现自动化。尽量减少人机交互。
可观察 − 每个服务本质上都是全栈的,它们应该像企业应用程序一样可以独立部署和观察。
团队管理
"两个披萨规则"是一种限制微服务开发团队参与人数的规则。根据此规则,一个应用程序的团队成员数量应该很少,以便两个披萨就能喂饱他们。一般来说,人数不应超过 8 人。由于微服务本质上是全栈的,因此团队本质上也是全栈的。为了提高生产力,我们需要建立一个最多 8 名成员的团队,他们具备该服务所需的各种专业知识。
任务管理
任务是软件开发生命周期中的重要角色。开发大型应用程序可以分解为几个小的任务单元。假设我们需要开发一个应用程序,例如 Facebook。那么,"登录"功能可以被视为整个构建过程的一项任务。这些任务的进度都需要由高技能的专业人员进行适当监控。敏捷是业界遵循的众所周知的流程结构,以跟上良好的任务管理。