春云配置分布式配置中心的高可用问题

  

在前面的文章中,我们实现了配置文件统一管理的功能,但是我们可以发现,我们仅仅只用了一个服务器,如果当这个服务器挂掉的话,整个配置中心就会不可用,下面,我们就来解决配置中心的高可用问题。
  

  

下面我们通过整合尤里卡来实现配置中心的高可用,因为作为架构内的配置管理,本身其实也是可以看作架构中的一个微服务,我们可以把配置服务器也注册为服务,这样所有客户端就能以服务的方式进行访问。通过这种方法,只需要启动多个指向同一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的,这样我们就完成了配置中心的高可用了!

春云配置分布式配置中心的高可用问题