javascript
springcloud教程-尊龙游戏旗舰厅官网
文章目录
- config(分布式配置中心)简介
- 创建服务端configserver
- 创建客户端config-client
代码地址: github-spring-cloud地址
config(分布式配置中心)简介
spring cloud config项目是一个解决分布式系统的配置管理方案。它包含了client和server两个部分,server提供配置文件的存储、以接口的形式将配置文件的内容提供出去,client通过接口获取数据、并依据此数据初始化自己的应用。
创建服务端configserver
config-server pom文件
<?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.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactid>spring-cloud-learn</artifactid><groupid>com.sl.learn.cloud</groupid><version>1.0-snapshot</version></parent><modelversion>4.0.0</modelversion><groupid>com.sl.learn.cloud</groupid><artifactid>config-server</artifactid><version>1.0-snapshot</version><dependencies><dependency><groupid>org.springframework.cloud</groupid><artifactid>spring-cloud-starter-netflix-eureka-client</artifactid></dependency><dependency><groupid>org.springframework.boot</groupid><artifactid>spring-boot-starter-web</artifactid></dependency><dependency><groupid>org.springframework.boot</groupid><artifactid>spring-boot-starter-actuator</artifactid></dependency><!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-netflix-hystrix --><dependency><groupid>org.springframework.cloud</groupid><artifactid>spring-cloud-config-server</artifactid></dependency></dependencies></project>在程序的入口application类加上@enableconfigserver注解开启配置服务器的功能,代码如下:
@springbootapplication @enableconfigserver @enablediscoveryclient public class configserverapplication {public static void main(string[] args) {springapplication.run(configserverapplication.class,args);} }配置文件application.properties文件配置以下
spring.application.name=config-server server.port=8088 eureka.client.serviceurl.defaultzone=http://localhost:8080/eureka/ spring.cloud.config.server.git.uri=https://github.com/fadehub/springcloudconfig spring.cloud.config.server.git.searchpaths=repo spring.cloud.config.label=master spring.cloud.config.username= spring.cloud.config.password=配置文件含义:
- spring.cloud.config.server.git.uri:配置git仓库地址
- spring.cloud.config.server.git.searchpaths:配置仓库路径
- spring.cloud.config.label:配置仓库的分支
- spring.cloud.config.server.git.username:访问git仓库的用户名
- spring.cloud.config.server.git.password:访问git仓库的用户密码
- eureka.client.serviceurl.defaultzone:eureka地址
如果git仓库为公开仓库,可以不填写用户名和密码,如果是私有仓库需要填写,本例子是公开仓库,放心使用。
远程仓库https://github.com/fadehub/springcloudconfig中有个文件config-client-dev.properties文件中有一个属性:
helloconfig=123
eureka.client.serviceurl.defaultzone=http://localhost:8080/eureka/
启动config-server访问链接:http://localhost:8088/helloconfig/dev
{“name”:“helloconfig”,“profiles”:[“dev”],“label”:null,“version”:“8138503a27a470d687d608b0fd4b7d169a23de5c”,“state”:null,“propertysources”:[]}
由此可见配置服务中心可以从远程程序获取配置信息
http请求地址和资源文件映射如下:
- /{application}/{profile}[/{label}]
- /{application}-{profile}.yml
- /{label}/{application}-{profile}.yml
- /{application}-{profile}.properties
- /{label}/{application}-{profile}.properties
创建客户端config-client
config-client pom文件
<?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.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactid>spring-cloud-learn</artifactid><groupid>com.sl.learn.cloud</groupid><version>1.0-snapshot</version></parent><modelversion>4.0.0</modelversion><groupid>com.sl.learn.cloud</groupid><artifactid>config-client</artifactid><version>1.0-snapshot</version><dependencies><dependency><groupid>org.springframework.cloud</groupid><artifactid>spring-cloud-starter-netflix-eureka-client</artifactid></dependency><dependency><groupid>org.springframework.boot</groupid><artifactid>spring-boot-starter-web</artifactid></dependency><dependency><groupid>org.springframework.boot</groupid><artifactid>spring-boot-starter-actuator</artifactid></dependency><!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-netflix-hystrix --><dependency><groupid>org.springframework.cloud</groupid><artifactid>spring-cloud-starter-config</artifactid></dependency></dependencies> </project>配置文件bootstrap.properties
spring.application.name=config-client spring.cloud.config.label=master spring.cloud.config.profile=dev spring.cloud.config.uri=http://localhost:8088/ server.port=8098配置文件含义解释:
-
spring.cloud.config.label: 指明远程仓库的分支
-
spring.cloud.config.profile:dev/test/pro
dev开发环境配置文件
test测试环境
pro正式环境 -
spring.cloud.config.uri= http://localhost:8888/ (指明配置服务中心的网址)
启动程序configclientapplication
写一个api接口“/hi”,返回从配置中心读取的helloconfig变量的值
启动config-client访问链接:http://localhost:8098/hi
这就说明,config-client从config-server获取了helloconfig的属性,而config-server是从git仓库读取的,如图:
总结
以上是尊龙游戏旗舰厅官网为你收集整理的springcloud教程-分布式配置中心config (springcloud版本greenwich.sr4)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: springcloud教程- 路由网关z
- 下一篇: