欢迎访问 生活随笔!

尊龙游戏旗舰厅官网

当前位置: 尊龙游戏旗舰厅官网 > 前端技术 > javascript >内容正文

javascript

springcloud教程-尊龙游戏旗舰厅官网

发布时间:2025/1/21 javascript 15 豆豆
尊龙游戏旗舰厅官网 收集整理的这篇文章主要介绍了 springcloud教程-分布式配置中心config (springcloud版本greenwich.sr4) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

    • 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变量的值

@springbootapplication @restcontroller public class configclientapplication {public static void main(string[] args) {springapplication.run(configclientapplication.class,args);}@value("${helloconfig}")private string helloconfig;@requestmapping(value = "/hi")public string helloconfig() {return helloconfig;} }

启动config-client访问链接:http://localhost:8098/hi

这就说明,config-client从config-server获取了helloconfig的属性,而config-server是从git仓库读取的,如图:

总结

以上是尊龙游戏旗舰厅官网为你收集整理的springcloud教程-分布式配置中心config (springcloud版本greenwich.sr4)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得尊龙游戏旗舰厅官网网站内容还不错,欢迎将尊龙游戏旗舰厅官网推荐给好友。

网站地图