简述:前面一篇文章我们有讲到注册中心的搭建,现在我们来讲统一的配置中心,我们可以将所有的配置文件发布到远程管理,如github或者gitlab管理,这样我们可以让所有的配置文件统一管理,且切换各种环境方便。
一.准备材料
gitlab服务器且开通了http访问下载的项目权限或者GitHub账号。
二.新建module用作统一配置中心,怎么新建module这里就不做详细介绍了。
在新的module的pom里面引入config包
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> <version>${config.version}</version> </dependency>
三.启动类除了原有的
@SpringBootApplication @EnableDiscoveryClient注解,增加@EnableConfigServer注解
四.统一配置中心配置文件,
server: port: 9527 servlet: context-path: /serviceConfig spring: application: name: fool-cloud-config profiles: active: git cloud: config: server: git: #uri是在GitHub或者gitlab上面的仓库地址,我这里是默认公共的不需要账号密码验证 uri: https://github.com/Owen199433/fool-cloud.git # uri: https://github.com/jmxct520/hsp-prod.git # 标签(这里笔者配置命名采用的是prfile+label的方式) default-label: master #如果非公共的仓库,可以在下面配置账号密码 # username: # password:
eureka: instance: prefer-ip-address: true client: serviceUrl: #这里需要的地址是默认的空间+context-path defaultZone: http://admin:admin@localhost:9526/eureka/eureka/ enabled: true
五.启动统一配置中心端口号发布,且注册到注册中心则启动成功,现在我们再来验证下配置中心是否生效
新建一个module这里我命名为example-master.yml,内容如下
spring:
application:
name: fool-cloud-example
eureka:
instance:
prefer-ip-address: true
client:
serviceUrl:
defaultZone: http://admin:admin@127.0.0.1:9526/eureka/eureka/
enabled: true
server:
port: 9528
servlet:
context-path: /example
我们将它放到第四步的远程的仓库,然后我们通过访问配置中心的地址
http://localhost:9527/serviceConfig/example-master.yml 当我们看到如下我们上传的配置内容,则统一配置中心启动成功。
然后示范客户端项目的配置文件bootstrap.yml内容为
spring: application: #这里的name和配置中心的applicationname保持一致,不然将不读取配置文件 name: serviceConfig profiles: active: git cloud: config: label: master #配置文件的名字 profile: example-master #统一配置中心的地址 uri: http://localhost:9527/serviceConfig discovery: enabled: true service-id: fool-cloud-config eureka: instance: prefer-ip-address: true client: serviceUrl: defaultZone: http://admin:admin@127.0.0.1:9526/eureka/eureka enabled: true
六.如上配置完成以后启动example项目,配置中心可以看到从GitHub拉取了example的配置文件,并且example的端口号启动为远程配置的端口号
这样我们的统一配置中心就搭建完了,下一篇文章我们将讲解搭建lcnTx事务管理中心。
更多问题交流请加入QQ群:260292706 交流,也可私信我交流问题
Owen