java B2B2C Springcloud电子商城系统-Spring Cloud Config Git 后端

简介

正如我们之前看到的,Twelve Factor App Manifesto中的一个因素是将配置移出我们的应用程序。有很多不同的方法可以做到这一点,但是在选择管理配置的工具时需要考虑的其他一些问题:需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码一零三八七七四六二六

Auditing changes:应该很容易看出由谁和他们应用时做了哪些改变的历史。

Approval of changes:错误的配置导致了很多产品问题理想情况下,在改变配置之前,都应该再次查看。

Resiliency:如果配置工具不可用会发生什么?

Synchronization:应用程序如何知道配置发生了变化?

看到上面的要点,其中大多数都描述了版本控制系统(Version Control System, ),这是我们用来存储应用程序源代码的。您有时想知道谁更改了Java类中的某些代码以及为什么,您应该能够找出谁更改了一些超时配置以及原因,那么为什么不为您的配置使用VCS呢?

这正是使用Git作为Spring Cloud Config后端的原因。配置更改控制的第一堂课。如果你将Git的功能与Pull Requests之类的东西混合在一起,你会获得很棒的工作流程,可以更好地了解应用于环境的配置更改,以及更好的工具,以确定环境中的某些事物是否已经发生变化,谁做了变更,以及对变更原因的描述。

使用Git作为后端

使用Git作为Spring Cloud Config后端时,我们需要讨论三个主要的库:

spring-cloud-context:正如我们在上一篇文章中所看到的,Spring Cloud引入了引导程序应用程序上下文(bootstrap application context)的概念,该概念使用PropertySourceLocator来加载远程配置。这个接口是不同的后端实现的入口点,而且存在这个库中,该库被任何一个spring cloud应用包含。它也包含RefreshEndpoint,它允许我们调用POST /refresh来触发应用程序上下文的刷新。

spring-cloud-config-server:Spring Cloud Config的默认后端实现。它增加PropertySourceLocator,它将使用一个或多个与不同系统通信的EnvironmentRepository。这些存储库负责解析适用于特定应用程序,配置文件和标签的环境。 EnvironmentRepository有一些不同的实现可以连接到Git,SVN或Vault。

spring-cloud-config-client:当你部署 Spring Cloud Config Server在自己的应用中,将会使用这个库。当这个服务是独立的,你需要一个可以通过http连接到服务的客户端。这就是这个库恰好做的,它添加一个PropertySourceLocator,它将调用服务器来加载适用的配置。

架构选择

正如我们之前所描述的,Spring Cloud Config Server是与Git通信的库, 一旦存储库被克隆,它就能依据不同的参数确定应用哪些配置属性。

该库可以以两种不同的方式使用 - 具有将使用此库的中央应用程序,并使所有客户端应用程序与此服务器应用程序通信,或将库包含到所有客户端应用程序中。让我们更详细地看一下这些选项。

独立配置服务器设置

我们要看的第一个选项是比较传统的,即我们部署一个单独的应用程序来管理我们的配置。我们看到的将如下图所示:

如您所见,Spring Cloud Config Server位于自己的应用程序中。所有这个应用程序都是克隆Git存储库,监听客户端应用程序要求配置发出的请求,并返回这些请求的适用配置。

客户端应用程序本身只包括我们之前描述的RefreshEndpoint,以及将在引导阶段运行的Spring Cloud Config Client,调用服务器以获取传递名称,配置文件和标签的适用配置。最后一个参数可以是特定的Git分支或提交。 java B2B2C Springcloud电子商城系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值