Microservices 安装微服务时,您将遇到几个问题: 如何跟踪配置中的更改 如何通过回归和集成测试有效地测试您的服务 如何有效地设置环境

Microservices 安装微服务时,您将遇到几个问题: 如何跟踪配置中的更改 如何通过回归和集成测试有效地测试您的服务 如何有效地设置环境,microservices,release-management,Microservices,Release Management,这里的关键很可能是更好地使用参数化环境变量,然后以高效的方式查看版本。这将允许您以有效的方式跟踪更改。要实现这一点,请确保a.)严格参数化容器配置和代码中的所有变量,b.)以允许您在运行时注入配置变量的方式组织配置变量。我觉得这对我的观点(a.)有帮助; 至于b点),这稍微有点棘手。看起来你正在使用Kubernetes,所以你可能只想选择一些类似于头盔图表的东西。问题是如何构造配置文件,您有两个选项: 使用类似Kustomize的工具,这是一种配置管理工具,允许您按照GitOps方法进行一定程

这里的关键很可能是更好地使用参数化环境变量,然后以高效的方式查看版本。这将允许您以有效的方式跟踪更改。要实现这一点,请确保a.)严格参数化容器配置和代码中的所有变量,b.)以允许您在运行时注入配置变量的方式组织配置变量。我觉得这对我的观点(a.)有帮助; 至于b点),这稍微有点棘手。看起来你正在使用Kubernetes,所以你可能只想选择一些类似于头盔图表的东西。问题是如何构造配置文件,您有两个选项:

  • 使用类似Kustomize的工具,这是一种配置管理工具,允许您按照GitOps方法进行一定程度的版本设置。这(在我有偏见的观点中)有很多缺陷。Git最终不是用于配置管理的,如果您处理了那么多的服务,就很难跟踪更改、构建差异、识别相关的历史记录
  • 您使用的是连续交付API(我为一个API工作,所以请确保您对此有足够的疑问)。CDAPI连接到您的所有系统(CI管道、群集、映像注册表、外部资源(DBs、文件存储)、内部资源(elastic、redis)等。它们在运行时动态注入环境变量,并在每次部署时创建清单。它们缓存这些,称为“部署集”.Deployment Set是部署时环境状态的表示形式。这种方法有几个优点:它允许您在任何给定时间点共享、版本、差异和重新启动任何服务和应用程序所处的任何状态。它为设置中的任何内容提供了非常清晰和防弹的审核。QA环境或测试特性环境可以通过API或UI进行旋转,从而允许进行功能齐全的回归和集成测试

问题不在于工具,我们使用Jenkins、Git、helm ArgoCD等。比如说,如果你有100或1000个微服务,你如何发布管理,也就是说,你如何进行测试、分组作为一个单一的整体、测试或每个服务。后者会有资源挑战。问题不在于工具,我们使用Jenkins、Git、他lm ArgoCD等。比如说,如果你有100或1000个微服务,你如何发布管理,也就是说,你如何进行测试,作为一个整体组合在一起,测试或每个服务。后者将面临资源挑战