在前面的文章中,我们实现了配置文件统一管理的功能,但是我们可以发现,我们仅仅只用了一个服务器,如果当这个服务器挂掉的话,整个配置中心就会不可用,下面,我们就来解决配置中心的高可用问题。
下面我们通过整合尤里卡来实现配置中心的高可用,因为作为架构内的配置管理,本身其实也是可以看作架构中的一个微服务,我们可以把配置服务器也注册为服务,这样所有客户端就能以服务的方式进行访问。通过这种方法,只需要启动多个指向同一Gitlab仓库位置的配置服务器端就能实现高可用了。
<强> 1,加入尤里卡依赖强>
& lt; dependency> & lt; groupId> org.springframework.cloud & lt; artifactId> spring-cloud-starter-eureka & lt;/dependency>>之前<强> 2,添加尤里卡支持,将配置服务注册到尤里卡上去强>
@EnableEurekaClient
<强> 3,修改服务器端的配置文件强>
加入尤里卡注册的配置,bootstrap.yml
服务器: 端口:8889 尤里卡: 客户: 服务url: defaultZone: http://localhost: 8761/尤里卡 实例: prefer-ip-address:真 春天: 应用程序: 名称:foo 云: 配置: 服务器: git: uri: & lt; span> https://gitlab.xxx.com/xxxxx/xxxxx.git</span>#配置gitlab仓库的地址 搜索路径:& lt; span>/config-repo# gitlab仓库地址下的相对地址,可以配置多个,用,分割。 用户名:你的名字# gitlab仓库的账号 密码:您的密码# gitlab仓库的密码启动配置服务器
4,修改端口号,再启动一个配置服务器
5,查看服务是否注册成功
1,加入尤里卡的pom依赖,同配置服务器
2,修改配置客户端的配置文件
bootstrap.properties经过测试,此处客户端只能是bootstrap.properties,否则会一直连端口8888
server.port=8890 spring.application.name=configserver spring.cloud.config.name=configserver spring.cloud.config.profile=dev spring.cloud.config.label=主 #开启配置服务发现支持 spring.cloud.config.discovery.enabled=true #此处需要设置成配置服务器在尤里卡上注册的服务名 spring.cloud.config.discovery.service-id=foo #指定服务发现中心 eureka.client.service-url.defaultZone=http://localhost: 8761/尤里卡其中,通过eureka.client.service-url.defaultZone参数指定服务注册中心,用于服务的注册与发现,再将spring.cloud.config.discovery.enabled参数设置为真的,开启通过服务来访问配置服务器的功能,最后利用spring.cloud.config.discovery。serviceId参数来指定配置服务器注册的服务名。这里的spring.application.name和spring.cloud.config.profile和前面博客中的意义一致。
<强> 3,在应用程序的主类上添加尤里卡支持,同配置服务器一致强>
1,查看尤里卡服务器上的服务
2,查看配置服务器是否正常
在浏览器中分别输入:http://localhost: 8888/configserver/dev/主人,http://localhost: 8889/configserver/dev/主人,看是否有返回结果如下:
{ “名称”:“configserver”, “简介”:[ “开发” ), “标签”:“大师”, “版本”:“8949024814 dcb6d61f97dc49db7e9dadcfc724b1”, “状态”:空, “propertySources”:( { “名称”:“https://gitlab.xxx.com/xxxxx/xxxxx/project/config-repo/configserver.properties”, “源”:{ “名称”:“chhliuxyh”, “你好”:“我是世界之王! ! ! ", “简介”:“profile-default” } } ] }<强> 3,查看客户端是否正常强>
在浏览器中输入http://localhost: 8890/你好,看是否有如下返回
我是世界之王! ! !如果上面几步正常,则说明是ok的。
4,将8888端口对应的配置服务器停掉,然后重新输入http://localhost: 8890/你好,看是否ok !我们发现仍然是ok的,这样我们就完成了配置中心的高可用了!
春云配置分布式配置中心的高可用问题