我为一家正在过渡到微服务的相当大的公司工作。对于大多数相关人员来说,这是一个新领域,对我而言,某些管理要求似乎是不明智的做法,但我没有专业知识可以说服他。
请求是在部署之前生成报告,该报告将列出微服务中的所有新api /事件(Kafka是我们的消息服务)。
推荐的路径是让开发人员遵循样式指南,然后在CI / CD管道中抓取源代码以生成可与以前的报告进行比较的报告,并确定任何新的api。
这似乎是倒退和不可持续的,但是我一直找不到能够满足他们要求的其他解决方案。我建议先部署到开发人员,然后再使用跟踪工具来识别任何api更改或事件订阅,但是他们坚持在部署前先获得报告。
我希望能找到有关最佳做法的任何建议来实现这一目标。
答案 0 :(得分:0)
跟踪和检测版本更改绝对是工程上的问题。就像@zenwraight提到的那样,更简单的是对API进行版本控制。跟踪服务以探索不同的版本和模式可能是一个潜在的解决方案,但它需要大量的前期投资,如果这不是公司的头等大事,我宁愿使用可能支持此类功能的供应商产品。
如果发现是一种必需的机制,我建议使用Swagger之类的工具发布内部API文档,以便您可以搜索是否有可以使用的API。
最后,为了支持迁移到不同版本,我建议为服务提供API入门流程,以便团队可以通知正在使用特定版本的其他团队其服务即将到期,并且他们需要迁移到较新的版本。