龙空技术网

Spring Cloud 配置中心 Config Server/Client配置(系列)

KristenGe 105

前言:

此刻各位老铁们对“nginxgit配置”大致比较注意,同学们都想要分析一些“nginxgit配置”的相关资讯。那么小编同时在网摘上汇集了一些关于“nginxgit配置””的相关资讯,希望小伙伴们能喜欢,小伙伴们快快来学习一下吧!

Spring Cloud Config Server配置,即配置服务器的搭建

版本

Spring Boot 2.7.3

Spring Cloud 2021.0.4

Maven依赖中添加以下依赖信息pom.xml

<parent>  <groupId>com.demo</groupId>  <artifactId>parent</artifactId>  <version>1.0.0</version></parent><dependencies>  <dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter</artifactId>  </dependency>  <dependency>    <groupId>org.springframework.cloud</groupId>    <artifactId>spring-cloud-config-server</artifactId>  </dependency></dependencies>
parant pom.xml
<parent>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-parent</artifactId>  <version>2.7.3</version></parent><properties>  <java.version>1.8</java.version>  <spring-cloud.version>2021.0.4</spring-cloud.version></properties><dependencyManagement>  <dependencies>    <dependency>      <groupId>org.springframework.cloud</groupId>      <artifactId>spring-cloud-dependencies</artifactId>      <version>${spring-cloud.version}</version>      <type>pom</type>      <scope>import</scope>    </dependency>  </dependencies></dependencyManagement>
使用注解@EnableConfigServer
@EnableConfigServer			//该注解标识该服务将做为配置服务器使用@SpringBootApplicationpublic class Application {    public static void main(String[] args) {      	SpringApplication.run(Application.class, args);    }}
配置文件application.yml添加以下配置信息如果是单节点配置,添加以下信息:
server:  port: 8806spring:  application:    name: config-server  cloud:    config:      server:        git:          uri: git@gitee.com:demoUser/microservice-config-files.git  #这里改成自己的git仓库地址,这个仓库是用于存放配置文件的          search-paths: fwzf/{application}   #每个应用在git仓库中单独对应一个目录,{application}会被自动替换成客户端的spring.application.name的值          basedir: ${user.dir}/.config-files-cache   #指定从git服务器拉取配置文件到本地缓存的目录          #username:   #如果使用账号密码连接git仓库,git仓库的用户名(如果是使用密钥git仓库的话,则无需配置这两项,因为密钥配置是在操作系统的~/.ssh目录下完成的)          #password:   #如果使用账号密码连接git仓库,git仓库的密码#### 如果采用非服务化配置方式(即不把配置服务注册到服务注册中心去),则无需以下eureka相关配置##eureka:  instance:    hostname: node1.config-server.fwzf    instance-id: ${eureka.instance.hostname}:${server.port}    #prefer-ip-address: true  #这个的用法说明,可以参考《Spring Cloud 注册中心 Eureka Server/Client 配置(系列)》中的说明  client:    serviceUrl:      defaultZone:   #这个是注册中心的地址,可以配置多个,用逗号拼接;也可以像此处这样,配置一个负载均衡地址
如果是HA配置(高可用集群配置),添加以下信息:

Spring Cloud Config Server的HA配置有以下两种方式:

传统方式:直接多个实例部署,指向同一个Git仓库,前端使用nginx等代理软件实现负载均衡即可。服务化配置方式:将Config Server当作服务实例注册到Eureka Server中,利用Ribbon实现负载均衡。

以下是第2种方式的配置文件:

节点1:

server:  port: 8806spring:  application:    name: config-server  cloud:    config:      server:        git:          uri: git@gitee.com:demoUser/microservice-config-files.git          search-paths: fwzf/{application}          basedir: ${user.dir}/.config-files-cache   					#username:             #password:   #### 如果采用非服务化配置方式(即不注册到服务注册中心去),则无需以下eureka相关配置##eureka:  instance:    hostname: node1.config-server.fwzf    instance-id: ${eureka.instance.hostname}:${server.port}    #prefer-ip-address: true  client:    serviceUrl:      defaultZone: 

节点2:

server:  port: 8806spring:  application:    name: config-server  cloud:    config:      server:        git:          uri: git@gitee.com:kristen/microservice-config-files.git          search-paths: fwzf/{application}            basedir: ${user.dir}/.config-files-cache   					#username:             #password:   #### 如果采用非服务化配置方式(即不注册到服务注册中心去),则无需以下eurela相关配置##eureka:  instance:    hostname: node2.config-server.fwzf    instance-id: ${eureka.instance.hostname}:${server.port}#    prefer-ip-address: true  client:    serviceUrl:      defaultZone: 
访问配置信息的URL与配置文件的对应关系
/{application}/{profile}/{label}/{label}/{application}-{profile}.yml

备注:/ { label } 是git仓库的分支名,可以省略,如果省略的话,默认访问master分支。

例如:git仓库中master分支下的配置文件名为:application-dev.yml,访问配置信息的URL,如下:

 或 其中"master"可以省略,其中"fwzf-account"是业务项目中spring.application.name的值,"dev"是环境名称,"master"是git分支名

Spring Cloud Config Client配置,这个配置就是在自己的业务项目中配置的

pom.xml中引入依赖(spring-cloud-dependencies参考上面)

<dependency>    <groupId>org.springframework.cloud</groupId>    <artifactId>spring-cloud-starter-config</artifactId>		<version>...</version></dependency>
项目的配置文件application.yml添加如下配置:(这个是放在自己的项目中的,项目中一般只要保留这几个配置项就可以了)
spring:  application:    name: fwzf-account   #配置文件的{application}部分  config:    import: "optional:configserver:; #指定配置中心地址  cloud:    config:      profile: dev   #git仓库中配置文件的{profile}部分      label: master  #git仓库分支名称
fwzf-account-dev.yml(这个是放在git仓库中的,这个配置文件里放的就是我们平时开发项目时application.yml中存放的那些配置信息,eureka部分的配置是连接注册中心用的)
server:  port: 8501  servlet:    context-path: /api/accounteureka:  instance:    hostname: 192.168.2.1    instance-id: ${eureka.instance.hostname}:${server.port}    #prefer-ip-address: true  client:    serviceUrl:      defaultZone: ......

[目录页链接] 点我回到顶级目录

标签: #nginxgit配置