zoukankan      html  css  js  c++  java
  • SpringCloud Config Bus

     

     

     

     

    <dependencies>
    	<dependency>
    		<groupId>org.springframework.cloud</groupId>
    		<artifactId>spring-cloud-config-server</artifactId>
    	</dependency>
    	<dependency>
    		<groupId>org.springframework.cloud</groupId>
    		<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
    	</dependency>
     
    	<dependency>
    		<groupId>org.springframework.boot</groupId>
    		<artifactId>spring-boot-starter-actuator</artifactId>
    	</dependency>
    	<dependency>
    		<groupId>org.springframework.cloud</groupId>
    		<artifactId>spring-cloud-starter-bus-amqp</artifactId>
    	</dependency>
    </dependencies>
    

      

    spring.application.name=springcloud-config-bus-server
    server.port=9005
    eureka.client.serviceUrl.defaultZone=http://localhost:8006/eureka/
     
     
    spring.cloud.config.server.git.uri = https://github.com/xuwujing/springcloud-study/
    spring.cloud.config.server.git.search-paths = /springcloud-config/config-repo
    spring.cloud.config.server.git.username = 
    spring.cloud.config.server.git.password = 
     
    management.endpoints.web.exposure.include= bus-refresh
    spring.cloud.bus.enabled = true
    spring.cloud.bus.trace.enabled = true
     
    spring.rabbitmq.host:127.0.0.1
    spring.rabbitmq.port:5672
    spring.rabbitmq.username:guest
    spring.rabbitmq.password:guest
    

      

    配置说明:

    • spring.application.name : 这个是指定服务名称。
    • server.port:服务指定的端口。
    • eureka.client.serviceUrl.defaultZone: 这个是设置与Eureka Server交互的地址,客户端的查询服务和注册服务都需要依赖这个地址。
    • spring.cloud.config.server.git.uri: 配置的Git长裤的地址。
    • spring.cloud.config.server.git.search-paths: git仓库地址下的相对地址 多个用逗号","分割。
    • spring.cloud.config.server.git.username:git仓库的账号。
    • spring.cloud.config.server.git.password:git仓库的密码。
    • management.endpoints.web.exposure.include:SpringBoot2.x之后必须添加次配置,和上述的客户端springcloud-config-bus-client增加的的配置一样,名称不一样是为了做区分。
    • spring.cloud.bus.enabled:是否启用springcloud config bus。
    • spring.cloud.bus.trace.enabled:开启跟踪总线事件。
    • spring.rabbitmq.host: rabbitmq的地址。
    • spring.rabbitmq.port: rabbitmq的端口。
    • spring.rabbitmq.username: rabbitmq的用户名。
    • spring.rabbitmq.password: rabbitmq的密码。

    注:如果是kafka的话,添加kafka的配置信息spring.kafka.bootstrap-servers,填写kafka的地址和端口即可。

    @EnableDiscoveryClient
    	@EnableConfigServer
    	@SpringBootApplication
    	public class ConfigServerApplication {
    	
    		public static void main(String[] args) {
    			SpringApplication.run(ConfigServerApplication.class, args);
    			System.out.println("配置中心服务端启动成功!");
    		}
    	}
    

      

    <dependencies>
    	<dependency>
    		<groupId>org.springframework.boot</groupId>
    		<artifactId>spring-boot-starter-web</artifactId>
    	</dependency>
    	<dependency>
    		<groupId>org.springframework.cloud</groupId>
    		<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    	</dependency>
    	<dependency>
    		<groupId>org.springframework.cloud</groupId>
    		<artifactId>spring-cloud-starter-config</artifactId>
    	</dependency>
    	<dependency>
    		<groupId>org.springframework.boot</groupId>
    		<artifactId>spring-boot-starter-actuator</artifactId>
    	</dependency>
    	<dependency>
    		<groupId>org.springframework.cloud</groupId>
    		<artifactId>spring-cloud-starter-bus-amqp</artifactId>
    	</dependency>
    </dependencies>
    

      

    spring.cloud.config.name=configtest
    spring.cloud.config.profile=pro
    spring.cloud.config.label=master
    spring.cloud.config.discovery.enabled=true
    spring.cloud.config.discovery.serviceId=springcloud-config-bus-server
    eureka.client.serviceUrl.defaultZone=http://localhost:8006/eureka/
    

      

    配置说明:

    • spring.cloud.config.name: 获取配置文件的名称。
    • spring.cloud.config.profile: 获取配置的策略。
    • spring.cloud.config.label:获取配置文件的分支,默认是master。如果是是本地获取的话,则无用。
    • spring.cloud.config.discovery.enabled: 开启配置信息发现。
    • spring.cloud.config.discovery.serviceId: 指定配置中心的service-id,便于扩展为高可用配置集群。
    • eureka.client.serviceUrl.defaultZone: 这个是设置与Eureka Server交互的地址,客户端的查询服务和注册服务都需要依赖这个地址。

    注:上面这些与spring-cloud相关的属性必须配置在bootstrap.properties中,config部分内容才能被正确加载。因为bootstrap.properties的相关配置会先于application.properties,而bootstrap.properties的加载也是先于application.properties。需要注意的是eureka.client.serviceUrl.defaultZone要配置在bootstrap.properties,不然客户端是无法获取配置中心参数的,会启动失败!

    application.properties配置文件新增的配置基本和服务端的一样,完整的配置如下:

    spring.application.name=springcloud-config-bus-client
    server.port=9006
    management.endpoints.web.exposure.include=refresh
    spring.cloud.config.failFast=true
    spring.cloud.bus.trace.enabled = true
     
    spring.rabbitmq.host:127.0.0.1
    spring.rabbitmq.port:5672
    spring.rabbitmq.username:guest
    spring.rabbitmq.password:guest
    

      

    配置说明:

    • spring.application.name: 这个是指定服务名称。
    • server.port:服务指定的端口。
    • management.endpoints.web.exposure.include:暴露刷新的地址。
    • spring.cloud.bus.enabled:是否启用springcloud config bus。
    • spring.cloud.bus.trace.enabled:开启跟踪总线事件。
    • spring.rabbitmq.host: rabbitmq的地址。
    • spring.rabbitmq.port: rabbitmq的端口。
    • spring.rabbitmq.username: rabbitmq的用户名。
    • spring.rabbitmq.password: rabbitmq的密码。

    程序主类代码,和之前的基本一致。代码如下:

    主程序代码示例:

    @EnableDiscoveryClient
    	@SpringBootApplication
    	public class ConfigClientApplication {
    	
    		public static void main(String[] args) {
    			SpringApplication.run(ConfigClientApplication.class, args);
    			System.out.println("配置中心客户端启动成功!");
    		}
    	}
    

      控制层代码:

    @RestController
    	@RefreshScope
    	public class ClientController {
    		
    		@Value("${word}")
    		private String word;
    		
    	    @RequestMapping("/hello")
    	    public String index(@RequestParam String name) {
    	        return name+","+this.word;
    	    }
    	}
    

      

     

     

     

     

     

     

     

  • 相关阅读:
    夺命雷公狗---ECSHOP---08---商品页的拇改成星星
    夺命雷公狗---ECSHOP---07---商品价格的遍历
    夺命雷公狗---ECSHOP---06---商品倒计时的实现
    WordPress博客密码忘记的解决方法
    夺命雷公狗---js_mv思路
    LAMP前一定要关闭防火墙
    夺命雷公狗---Smarty NO:25 缓存控制技术2(完结)
    夺命雷公狗---Smarty NO:24 缓存控制技术1
    夺命雷公狗---Smarty NO:23 常用方法
    夺命雷公狗---Smarty NO:22 常量—变量
  • 原文地址:https://www.cnblogs.com/MaxElephant/p/14878097.html
Copyright © 2011-2022 走看看