【问题标题】:What would be a good/correct term to designate a group of microservices? [closed]指定一组微服务的好/正确术语是什么? [关闭]
【发布时间】:2015-09-11 21:59:56
【问题描述】:

我正在打开此主题以寻求解决/帮助解决以下问题的建议:

  • 我目前正在与其他人合作开展一个使用云计算的微服务架构项目。
  • 有 6 种不同的微服务,并且有一些微服务不兼容,因此无法在同一台机器上实例化。
  • 每个微服务都有一个版本号。
  • 为了启动任何微服务的一个或多个新实例,我们必须通过静态配置定义哪些微服务将在这台新机器上运行。
  • 我们称之为“部署”的静态配置包含正在部署的微服务以及每个微服务的版本。 (例如:(XY,[(X,v1),(Y,v2)]) - X 和 Y 是微服务,XY 部署实例化了 X 的版本 1 和 Y 的版本 2)
  • 那些“部署”也有自己的版本号。在部署中更改微服务的版本号需要更改包含微服务的任何“部署”的版本。 (例如:(XY,v1,[(X,v1),(Y,v2)]) 和 (XY,v2,[(X,v1),(Y,v3)]))

问题是:什么是正确的,或者至少是一个好的术语来指代这个我之前称为“部署”的实体?

许多开发人员围绕我们的架构编写程序并为此类实体使用不同的名称,这导致我们团队内部的语法和语义不兼容。

在这些不同的名称中,各有利弊:

  • deploy:很有意义,因为您正在部署列表中的所有微服务。但是,术语部署已经指定了我们流程的另一部分,并且可能会过度使用同一术语。 (部署 XY deploy 将在一台机器上部署微服务 X 和 Y)
  • 集群:一组事物的好名字,但是您可以从一个配置中部署多台机器,并且集群一词已经适用于这组机器。
  • 服务:服务是一组微服务。有道理,但许多代码将微服务称为“服务”,这可能会导致混淆。 (def get_version(service) - 他说的是服务还是微服务?)

你们中的任何人都可以就这个问题给我们任何意见或启示吗? 谢谢!

【问题讨论】:

    标签: service deployment configuration microservices vocabulary


    【解决方案1】:

    您可能会从 12-factor App 中获得提示,并将其称为发布 (http://12factor.net/build-release-run)

    然后您部署版本化版本。

    【讨论】:

      【解决方案2】:

      听起来你想要一个合适的集体名词。我建议你谷歌“集体名词”,找到很多列表。阅读一些列表并选择一个您认为合适的名词。

      或者,如果微服务实例化集合的定义特征之一是它们互补,则术语 cooperative(或简称 co-op)可能是合适的,或相互合作。

      【讨论】:

        【解决方案3】:

        我使用了“复杂”一词(如“抵押风险”复杂与“合规”复杂)。这似乎很明确。

        人们还在项目中使用该术语来表示已部署的微服务集(例如生产综合体与测试综合体)。

        【讨论】:

          猜你喜欢
          • 2019-12-08
          • 2019-12-07
          • 2011-09-15
          • 2011-06-23
          • 1970-01-01
          • 2021-01-13
          • 2016-01-14
          • 2015-05-29
          • 2021-09-09
          相关资源
          最近更新 更多