云端微服务架构设计

成功的微服务开发始于三个关键角色的视角:

  • 架构师——着眼大局,将应用程序分解为个体微服务,然后了解微服务如何交互以提供解决方案。
  • 软件开发人员——编写代码并理解语言和开发框架将用于交付微服务。(前端,后端)
  • DevOps 工程师——确定在整个生产和非生产环境中如何部署和管理服务, 信条是保证每个环境中的一致性和可重复性

架构师在软件项目中的角色是提供解决问题的工作模型(Scalable, Resilient, and Flexible), 架构师提供了开发人员构建代码的脚手架,以便应用程序的所有部分组合在一起。

构建微服务时,项目架构师要专注于三个关键任务:

  • 分解业务问题
  • 建立服务粒度
  • 定义服务接口

在面对复杂问题时,我们可能会将问题分解为几个重要部分,然后寻找这些部分之间存在的关系。我们在微服务架构中,过程也是大致相同。

分解业务领域是一种艺术形式,而不是非黑即白的科学问题,

  1. 描述业务问题, 并注意你用来描述它的 名词。相同的出现多次的描述问题的名词, 通常很大机会是一个很好的核心业务领域和微服务。 例如O-stock 应用程序的名词示例可能是合同、许可证、和资产。

  2. 注意 动词。动词突出动作,通常代表问题域的轮廓。如果你发现自己说”事务 X 需要从事物 A 和事物 B 中获取数据”,这通常表明多个服务在起作用。如果您将此方法应用于 O-stock 应用程序,您可能会发现像这样的陈述,”迈克设置一台新电脑的桌面时,他查找(lookup)可用于软件 X 的许可证数量,如果还有可用许可证,安装软件。然后,他会更新(Update)他的跟踪电子表格中使用的许可证数量。”这里的关键动词是looks 和updates。

  3. 寻找数据凝聚。当您将业务问题分解为一件件,寻找彼此高度相关的数据。如果你在谈话过程中突然发现读写的数据与之前所讨论的完全不同,这个数据可能是属于另一个微服务。微服务必须完全拥有自己的数据。

我们来看书上的例子;

云端微服务架构设计

我们将把 Emma 管理的合约信息存放在哪里?
我们将在哪里存储以及如何管理许可信息(成本、许可类型、许可所有者和许可合同)?
Jenny 在 PC 上设置许可证。我们要在哪里存储资产(指PC这种固定资产)?
许可证属于拥有多项资产的组织,我们将在哪里存储组织信息?

云端微服务架构设计

Original: https://www.cnblogs.com/zitjubiz/p/design_pattern_micro_service.html
Author: Gu
Title: 云端微服务架构设计

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/564944/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球