假如说我们的配置从远程仓库获取失败了,那么该如何去处理呢?这里就要使用到 Spring Cloud Config 为我们提的动态刷新重试功能了,Spring Cloud Config 是服务化的。那么什么是服务化呢?
创新互联主营湾里网站建设的网络公司,主营网站建设方案,成都app软件开发,湾里h5重庆小程序开发公司搭建,湾里网站营销推广欢迎湾里等地区企业咨询服务化
我们在前面的配置中,当 Config Client 需要从 Config Server 上获取配置数据时,我们都是直接在 Config Client 的配置文件中写上 Config Server 的地址,类似下面这种架构:

这种写法相当于将 Config Client 和 Config Server 绑定死了,以后 Config Server 的地址不能变,Config Server 也不能挂,否则 Config Client 就获取不到信息了,而且这种方式也破坏了我们微服务的整体架构,即服务之间互相调用,获取对方的信息都是去服务注册中心上获取,所以我们要对这种结构进行改造,改造成下面这种结构:

当 Config Server 启动时,将自己注册到服务注册中心 Eureka 上,所有 Config Client 都从 Eureka 上去获取 Config Server 的信息,这样我们就成功将 Config Server 和 Config Client 解耦了,Eureka 在这里依然扮演了数据中心的角色。
那么下面我们来演示如何服务化,大家可以根据上一篇的例子进行改造。当然也可以再创建一个项目来实现。这里我选择重新创建来带着大家来搭建。
首先我们依然是创建一个cloudConfig-fwh普通maven工程来作为父工程。然后再从cloudConfig-fwh中创建一个普通的文件夹configRepo来存放github配置文件,然后再分别创建eureka、config_server、config_client。
创建好后,项目结构如下:

然后我们分别将config_client 和 config_server 注册到eureka实例上。

我们访问localhost:7000发现已经注册上去了。
那么我们还需要对Config Client配置,这里我们在bootstrap.yml中配置,bootstrap.yml优先级比application.yml高,spring cloud config 优先配置都会放在这里:
bootstrap.yml 配置如下:
spring:
application:
name: config-server
# 本地配置
# profiles:
# active: native
cloud:
config:
profile: dev
label: master
discovery:
service-id: config-server3
enabled: true
server:
port: 8002
eureka:
client:
service-url:
defaultZone: http://localhost:7000/eureka/另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章标题:SpringCloud之动态刷新、重试、服务化的实现-创新互联
URL链接:http://www.jxjierui.cn/article/cdodoh.html


咨询
建站咨询
