Spring Cloud原生的配置中心Config Server是注册到注册中心eureka server,客户端启动时,从注册中心获取配置中心的IP地址,然后再去配置中心获取配置中心中的配置。这种方式有几个优点:
- 可以动态获取配置中心地址。配置中心的IP地址可以随意更换,而不需要更改客户端配置文件。只需要将注册中心注册到注册中心上。
- 可以实现配置中心的动态扩容,实现配置中的高可用。当客户端较多,配置中心的压力较大,容易造成配置中心宕机,此时,可以再启动若干配置中心,注册到注册中心即可。
使用nacos作为配置中心,由于nacos灭有注册到注册中心上,nacos server的地址需要写在bootstrap.properties配置文件中。当我们需要更改配置中心的地址或者要增加nacos集群的数量,需要修改每台客户端的配置文件。很麻烦。
然而1.1.0版本发布的同时提供了地址服务器,解决了这一问题。在客户端只需要配置地址服务器集群的地址,注册中心以及配置中心的地址都是通过地址服务器动态获取。
前面已经做过客户端自动获取注册中心地址的测试,下面我们做一个客户端自动获取配置中心地址的测试:
客户端通过地址服务器动态获取配置中心地址
前提:已启动:
- 一台nacos addres地址服务器(本次测试地址:114.116.3.65:8080)
- 两台单机模式启动的nacos server(本次测试地址:114.116.3.65:8848、132.232.159.88:8848)
大家可以自行查找资料启动或者看前面的博客nacos单机模式启动、单机模式地址服务器启动
客户端工程:
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.ap