Spring Cloud Config Server的最初想法是允许您集中配置。通过这种方式,您可以独立于配置更改代码。
然而,代码赢了,现在一切都是代码,包括您的基础设施。促进这一点的典型范例是GitOps和ArgoCD。
因此,我的问题是:在2021年将Spring Microservices部署到K8S环境时,拥有Spring Cloud Config服务器有意义吗?
它肯定是多余的,但它在很大程度上取决于您的确切工作流程。如果你只使用git后端,那么我会尝试不使用,而是练习你所有的通用流程(部署新版本的代码、配置、每个的回滚、紧急修补程序、灾难恢复(。平台本机工具通常在平台端有更好的集成,而框架本机工具在框架端会更好:(您也可以使用SCCS文件系统后端来划分差异。
Spring Cloud Config和其他许多工具一样,只是一个工具。因此,是否使用它取决于您自己。
简而言之,使用Cloud Config Server,您可以将所有配置保存在git中,一旦配置正确,它将自动从git存储库中提取配置更改。
它公开了REST API,这样你就可以从任何类型的应用程序中查询它,但当你有弹簧引导驱动的微服务时,它尤其闪耀,因为你可以要求;相关片段";配置的方式非常简单,它将自然地映射到Spring Boot访问微服务内部配置的方式。此外,您可以在配置更改时自动刷新bean,而无需重新启动应用程序。这是使用非弹簧感知解决方案无法轻松实现的。
你是否应该使用它?这取决于您的工作流程、需求、系统的当前状态以及许多非技术因素。
我已经找到了我自己发布的关于k8s ConfigMaps和Cloud Config Server的比较的答案:我认为,这可能是相关的。