0

我为一家正在向微服务过渡的大型公司工作。对于大多数相关人员来说,这是一个新领域,一些管理要求对我来说似乎是不好的做法,但我没有专业知识来说服其他人。

该请求是在部署之前生成一个报告,该报告将列出微服务中的任何新 api/事件(Kafka 是我们的消息传递服务)。

推荐的路径是让开发人员遵循样式指南,然后在 CI/CD 管道期间抓取源代码以生成可以与以前的报告进行比较并识别任何新 API 的报告。

这似乎是倒退且不可持续的,但我一直无法找到另一种可以满足他们要求的解决方案。我建议先部署到 dev,然后使用跟踪工具来识别任何 api 更改或事件订阅,但他们坚持在部署之前拥有报告。

我希望对实现这一目标的最佳实践有任何建议。

4

1 回答 1

0

跟踪和检测版本更改绝对超出了工程范围。像@zenwraight 提到的更简单的是对您的 API 进行版本控制。虽然跟踪服务以探索不同的版本和架构可能是一个潜在的解决方案,但它需要更多的前期投资,如果这不是公司的生计,我宁愿使用可能支持此类东西的供应商产品。

如果发现是一种需要的机制,我建议使用 Swagger 之类的工具发布内部 API 文档,这样您就可以搜索是否有可以使用的 API。

最后,为了支持迁移到不同版本,我建议为服务制定一个 API 载入流程,以便团队可以通知使用特定版本的其他团队,他们的服务即将结束其生命周期,他们将需要迁移到更新的版本那些。

于 2018-10-11T18:13:28.227 回答