Spring Cloud学习笔记【十】配置中心(消息驱动刷新配置)
上一篇中讲到,如果需要客户端获取到最新的配置信息需要执行refresh
,我们可以利用 Webhook 的机制每次提交代码发送请求来刷新客户端,当客户端越来越多的时候,需要每个客户端都执行一遍,这种方案就不太适合了。使用 Spring Cloud Bus 可以完美解决这一问题。
服务端
新建一个spring boot项目,命名 service-config-server-bus
POM 配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-bus</artifactId>
8 </dependency>
<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-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream-binder-rabbit</artifactId>
</dependency>
配置文件
application.yml 内容如下
server:
port: 9300
spring:
application:
name: service-config-server-bus
cloud:
config:
server:
git:
uri: https://github.com/carry-chan/spring-cloud # 配置git仓库的地址
search-paths: config-repo # git仓库地址下的相对地址,可以配置多个,用,分割。
bus:
enabled: true
trace:
enabled: true
rabbitmq:
addresses: 192.168.68.100
port: 5672
username: test
password: 123456
eureka:
client:
serviceUrl:
defaultZone: http://admin:123456@localhost:8761/eureka/
management:
endpoints:
web:
exposure:
include: bus-refresh
启动类
package com.carry.springcloud; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer; @SpringBootApplication
@EnableConfigServer
public class ServiceConfigClientBusApplication { public static void main(String[] args) {
SpringApplication.run(ServiceConfigClientBusApplication.class, args);
}
}
客户端
新建spring boot项目 service-config-client-bus
POM 配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-bus</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</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-stream-binder-rabbit</artifactId>
</dependency>
配置文件
application.yml
server:
port: 9401
spring:
application:
name: service-config-client
cloud:
bus:
enabled: true
trace:
enabled: true
rabbitmq:
addresses: 192.168.68.100
port: 5672
username: test
password: 123456
bootstrap.yml
spring:
cloud:
config:
name: config-server # 对应 {application} 部分
profile: dev # 对应 {profile} 部分
label: master # 对应 {label} 部分,即 Git 的分支。如果配置中心使用的是本地存储,则该参数无用
discovery:
enabled: true
service-id: service-config-server-bus #springcloud config的服务名
eureka:
client:
serviceUrl:
defaultZone: http://admin:123456@localhost:8761/eureka/
控制层Controller
package com.carry.springcloud; import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController; import reactor.core.publisher.Mono; @RestController
@RefreshScope
public class ClientController { @Value("${info.profile}")
private String profile; @GetMapping("/info")
public Mono<String> hello() {
return Mono.justOrEmpty(profile);
}
}
@RefreshScope
必须加,否则客户端会受到服务端的更新消息,但是更新不了,因为不知道更新哪里的,至于启动主类,用默认生成的不用改。
测试
分别启动 eureka-server、service-config-server-bus 和两个 service-config-client-bus
启动后,RabbitMQ 中会自动创建一个 topic 类型的 Exchange 和两个以springCloudBus.anonymous.
开头的匿名 Queue
我们用Postman发生请求 http://localhost:9400/info 和 http://localhost:9401/info 返回内容的都是dev
。
将 Git 中的配置信息由dev
改为dev bus
,并执行POST http://localhost:9300/actuator/bus-refresh 之后,再请求 http://localhost:9400/info 和 http://localhost:9401/info ,返回dev bus 说明成功了。
服务端在刷新接口产生的的日志:
2018-08-31 16:50:43.182 INFO 18112 --- [nio-9300-exec-9] o.s.a.r.c.CachingConnectionFactory : Attempting to connect to: [192.168.68.100:5672]
2018-08-31 16:50:43.211 INFO 18112 --- [nio-9300-exec-9] o.s.a.r.c.CachingConnectionFactory : Created new connection: rabbitConnectionFactory.publisher#1322bcdc:0/SimpleConnection@1799d006 [delegate=amqp://test@192.168.68.100:5672/, localPort= 52394]
2018-08-31 16:50:43.225 INFO 18112 --- [nio-9300-exec-9] o.s.amqp.rabbit.core.RabbitAdmin : Auto-declaring a non-durable, auto-delete, or exclusive Queue (springCloudBus.anonymous.91dZPs4ITESmKzjJHBhVoA) durable:false, auto-delete:true, exclusive:true. It will be redeclared if the broker stops and is restarted while the connection factory is alive, but all messages will be lost.
2018-08-31 16:50:44.299 INFO 18112 --- [nio-9300-exec-9] o.s.cloud.commons.util.InetUtils : Cannot determine local hostname
2018-08-31 16:50:44.374 INFO 18112 --- [nio-9300-exec-9] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@1c63e07d: startup date [Fri Aug 31 16:50:44 CST 2018]; root of context hierarchy
2018-08-31 16:50:44.399 INFO 18112 --- [nio-9300-exec-9] f.a.AutowiredAnnotationBeanPostProcessor : JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
2018-08-31 16:50:44.416 INFO 18112 --- [nio-9300-exec-9] trationDelegate$BeanPostProcessorChecker : Bean 'configurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$a801f44] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2018-08-31 16:50:45.541 INFO 18112 --- [nio-9300-exec-9] o.s.cloud.commons.util.InetUtils : Cannot determine local hostname
2018-08-31 16:50:45.565 INFO 18112 --- [nio-9300-exec-9] o.s.boot.SpringApplication : No active profile set, falling back to default profiles: default
2018-08-31 16:50:45.567 INFO 18112 --- [nio-9300-exec-9] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@1539f21d: startup date [Fri Aug 31 16:50:45 CST 2018]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@1c63e07d
2018-08-31 16:50:45.569 INFO 18112 --- [nio-9300-exec-9] f.a.AutowiredAnnotationBeanPostProcessor : JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
2018-08-31 16:50:45.578 INFO 18112 --- [nio-9300-exec-9] o.s.boot.SpringApplication : Started application in 2.337 seconds (JVM running for 2768.887)
2018-08-31 16:50:45.578 INFO 18112 --- [nio-9300-exec-9] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@1539f21d: startup date [Fri Aug 31 16:50:45 CST 2018]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@1c63e07d
2018-08-31 16:50:45.579 INFO 18112 --- [nio-9300-exec-9] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@1c63e07d: startup date [Fri Aug 31 16:50:44 CST 2018]; root of context hierarchy
2018-08-31 16:50:45.707 INFO 18112 --- [nio-9300-exec-9] com.netflix.discovery.DiscoveryClient : Shutting down DiscoveryClient ...
2018-08-31 16:50:45.709 INFO 18112 --- [nio-9300-exec-9] o.s.c.n.eureka.InstanceInfoFactory : Setting initial instance status as: STARTING
2018-08-31 16:50:48.673 INFO 18112 --- [nio-9300-exec-9] com.netflix.discovery.DiscoveryClient : Unregistering ...
2018-08-31 16:50:48.693 INFO 18112 --- [nio-9300-exec-9] com.netflix.discovery.DiscoveryClient : DiscoveryClient_SERVICE-CONFIG-SERVER-BUS/localhost:service-config-server-bus:9300 - deregister status: 200
2018-08-31 16:50:48.727 INFO 18112 --- [nio-9300-exec-9] com.netflix.discovery.DiscoveryClient : Completed shut down of DiscoveryClient
2018-08-31 16:50:48.736 INFO 18112 --- [nio-9300-exec-9] com.netflix.discovery.DiscoveryClient : Initializing Eureka in region us-east-1
2018-08-31 16:50:48.741 INFO 18112 --- [nio-9300-exec-9] c.n.d.provider.DiscoveryJerseyProvider : Using JSON encoding codec LegacyJacksonJson
2018-08-31 16:50:48.741 INFO 18112 --- [nio-9300-exec-9] c.n.d.provider.DiscoveryJerseyProvider : Using JSON decoding codec LegacyJacksonJson
2018-08-31 16:50:48.741 INFO 18112 --- [nio-9300-exec-9] c.n.d.provider.DiscoveryJerseyProvider : Using XML encoding codec XStreamXml
2018-08-31 16:50:48.741 INFO 18112 --- [nio-9300-exec-9] c.n.d.provider.DiscoveryJerseyProvider : Using XML decoding codec XStreamXml
2018-08-31 16:50:48.865 INFO 18112 --- [nio-9300-exec-9] c.n.d.s.r.aws.ConfigClusterResolver : Resolving eureka endpoints via configuration
2018-08-31 16:50:48.865 INFO 18112 --- [nio-9300-exec-9] com.netflix.discovery.DiscoveryClient : Disable delta property : false
2018-08-31 16:50:48.865 INFO 18112 --- [nio-9300-exec-9] com.netflix.discovery.DiscoveryClient : Single vip registry refresh property : null
2018-08-31 16:50:48.866 INFO 18112 --- [nio-9300-exec-9] com.netflix.discovery.DiscoveryClient : Force full registry fetch : false
2018-08-31 16:50:48.866 INFO 18112 --- [nio-9300-exec-9] com.netflix.discovery.DiscoveryClient : Application is null : false
2018-08-31 16:50:48.866 INFO 18112 --- [nio-9300-exec-9] com.netflix.discovery.DiscoveryClient : Registered Applications size is zero : true
2018-08-31 16:50:48.866 INFO 18112 --- [nio-9300-exec-9] com.netflix.discovery.DiscoveryClient : Application version is -1: true
2018-08-31 16:50:48.866 INFO 18112 --- [nio-9300-exec-9] com.netflix.discovery.DiscoveryClient : Getting all instance registry info from the eureka server
2018-08-31 16:50:48.870 INFO 18112 --- [nio-9300-exec-9] com.netflix.discovery.DiscoveryClient : The response status is 200
2018-08-31 16:50:48.871 INFO 18112 --- [nio-9300-exec-9] com.netflix.discovery.DiscoveryClient : Starting heartbeat executor: renew interval is: 30
2018-08-31 16:50:48.873 INFO 18112 --- [nio-9300-exec-9] c.n.discovery.InstanceInfoReplicator : InstanceInfoReplicator onDemand update allowed rate per min is 4
2018-08-31 16:50:48.874 INFO 18112 --- [nio-9300-exec-9] com.netflix.discovery.DiscoveryClient : Discovery Client initialized at timestamp 1535705448874 with initial instances count: 3
2018-08-31 16:50:48.877 INFO 18112 --- [nio-9300-exec-9] o.s.c.n.e.s.EurekaServiceRegistry : Unregistering application service-config-server-bus with eureka with status DOWN
2018-08-31 16:50:48.877 INFO 18112 --- [nio-9300-exec-9] o.s.c.n.e.s.EurekaServiceRegistry : Registering application service-config-server-bus with eureka with status UP
2018-08-31 16:50:48.877 WARN 18112 --- [nio-9300-exec-9] com.netflix.discovery.DiscoveryClient : Saw local status change event StatusChangeEvent [timestamp=1535705448877, current=UP, previous=DOWN]
2018-08-31 16:50:48.878 INFO 18112 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_SERVICE-CONFIG-SERVER-BUS/localhost:service-config-server-bus:9300: registering service...
2018-08-31 16:50:48.880 INFO 18112 --- [nio-9300-exec-9] o.s.cloud.bus.event.RefreshListener : Received remote refresh request. Keys refreshed []
2018-08-31 16:50:48.886 INFO 18112 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_SERVICE-CONFIG-SERVER-BUS/localhost:service-config-server-bus:9300 - registration status: 204
2018-08-31 16:50:49.161 INFO 18112 --- [io-9300-exec-10] .c.s.e.MultipleJGitEnvironmentRepository : Fetched for remote master and found 1 updates
2018-08-31 16:50:50.235 INFO 18112 --- [io-9300-exec-10] o.s.cloud.commons.util.InetUtils : Cannot determine local hostname
2018-08-31 16:50:50.291 INFO 18112 --- [io-9300-exec-10] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@2a199145: startup date [Fri Aug 31 16:50:50 CST 2018]; root of context hierarchy
2018-08-31 16:50:50.293 INFO 18112 --- [io-9300-exec-10] f.a.AutowiredAnnotationBeanPostProcessor : JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
2018-08-31 16:50:50.298 INFO 18112 --- [io-9300-exec-10] o.s.c.c.s.e.NativeEnvironmentRepository : Adding property source: file:/C:/Users/ADMINI~1/AppData/Local/Temp/config-repo-4017042254956212660/config-repo/config-server-dev.yml
2018-08-31 16:50:50.298 INFO 18112 --- [io-9300-exec-10] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@2a199145: startup date [Fri Aug 31 16:50:50 CST 2018]; root of context hierarchy
2018-08-31 16:50:52.554 INFO 18112 --- [nio-9300-exec-1] o.s.cloud.commons.util.InetUtils : Cannot determine local hostname
2018-08-31 16:50:52.605 INFO 18112 --- [nio-9300-exec-1] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@2013736a: startup date [Fri Aug 31 16:50:52 CST 2018]; root of context hierarchy
2018-08-31 16:50:52.611 INFO 18112 --- [nio-9300-exec-1] f.a.AutowiredAnnotationBeanPostProcessor : JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
2018-08-31 16:50:52.616 INFO 18112 --- [nio-9300-exec-1] o.s.c.c.s.e.NativeEnvironmentRepository : Adding property source: file:/C:/Users/ADMINI~1/AppData/Local/Temp/config-repo-4017042254956212660/config-repo/config-server-dev.yml
2018-08-31 16:50:52.616 INFO 18112 --- [nio-9300-exec-1] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@2013736a: startup date [Fri Aug 31 16:50:52 CST 2018]; root of context hierarchy
客户端在刷新接口产生的的日志:
2018-08-31 16:50:28.853 INFO 9324 --- [trap-executor-0] c.n.d.s.r.aws.ConfigClusterResolver : Resolving eureka endpoints via configuration
2018-08-31 16:50:44.332 INFO 9324 --- [9uOLZV0TWJm8g-1] o.s.cloud.commons.util.InetUtils : Cannot determine local hostname
2018-08-31 16:50:44.379 INFO 9324 --- [9uOLZV0TWJm8g-1] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@6f60de07: startup date [Fri Aug 31 16:50:44 CST 2018]; root of context hierarchy
2018-08-31 16:50:44.439 INFO 9324 --- [9uOLZV0TWJm8g-1] f.a.AutowiredAnnotationBeanPostProcessor : JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
2018-08-31 16:50:44.464 INFO 9324 --- [9uOLZV0TWJm8g-1] trationDelegate$BeanPostProcessorChecker : Bean 'configurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$8ecaf823] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2018-08-31 16:50:45.555 INFO 9324 --- [9uOLZV0TWJm8g-1] o.s.cloud.commons.util.InetUtils : Cannot determine local hostname
2018-08-31 16:50:45.572 INFO 9324 --- [9uOLZV0TWJm8g-1] o.s.c.n.eureka.InstanceInfoFactory : Setting initial instance status as: STARTING
2018-08-31 16:50:45.584 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Initializing Eureka in region us-east-1
2018-08-31 16:50:45.590 INFO 9324 --- [9uOLZV0TWJm8g-1] c.n.d.provider.DiscoveryJerseyProvider : Using JSON encoding codec LegacyJacksonJson
2018-08-31 16:50:45.590 INFO 9324 --- [9uOLZV0TWJm8g-1] c.n.d.provider.DiscoveryJerseyProvider : Using JSON decoding codec LegacyJacksonJson
2018-08-31 16:50:45.590 INFO 9324 --- [9uOLZV0TWJm8g-1] c.n.d.provider.DiscoveryJerseyProvider : Using XML encoding codec XStreamXml
2018-08-31 16:50:45.590 INFO 9324 --- [9uOLZV0TWJm8g-1] c.n.d.provider.DiscoveryJerseyProvider : Using XML decoding codec XStreamXml
2018-08-31 16:50:45.719 INFO 9324 --- [9uOLZV0TWJm8g-1] c.n.d.s.r.aws.ConfigClusterResolver : Resolving eureka endpoints via configuration
2018-08-31 16:50:45.720 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Disable delta property : false
2018-08-31 16:50:45.720 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Single vip registry refresh property : null
2018-08-31 16:50:45.720 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Force full registry fetch : false
2018-08-31 16:50:45.720 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Application is null : false
2018-08-31 16:50:45.720 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Registered Applications size is zero : true
2018-08-31 16:50:45.720 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Application version is -1: true
2018-08-31 16:50:45.720 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Getting all instance registry info from the eureka server
2018-08-31 16:50:45.724 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : The response status is 200
2018-08-31 16:50:45.725 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Not registering with Eureka server per configuration
2018-08-31 16:50:45.726 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Discovery Client initialized at timestamp 1535705445726 with initial instances count: 3
2018-08-31 16:50:46.804 INFO 9324 --- [9uOLZV0TWJm8g-1] o.s.cloud.commons.util.InetUtils : Cannot determine local hostname
2018-08-31 16:50:46.833 INFO 9324 --- [9uOLZV0TWJm8g-1] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at : http://localhost:9300/
2018-08-31 16:50:52.619 INFO 9324 --- [9uOLZV0TWJm8g-1] c.c.c.ConfigServicePropertySourceLocator : Located environment: name=config-server, profiles=[dev], label=master, version=34046e96c2c637976b412e1af36e2dc87d713849, state=null
2018-08-31 16:50:52.619 INFO 9324 --- [9uOLZV0TWJm8g-1] b.c.PropertySourceBootstrapConfiguration : Located property source: CompositePropertySource {name='configService', propertySources=[MapPropertySource {name='configClient'}, MapPropertySource {name='https://github.com/carry-chan/spring-cloud/config-repo/config-server-dev.yml'}]}
2018-08-31 16:50:52.621 INFO 9324 --- [9uOLZV0TWJm8g-1] o.s.boot.SpringApplication : No active profile set, falling back to default profiles: default
2018-08-31 16:50:52.624 INFO 9324 --- [9uOLZV0TWJm8g-1] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@7205494f: startup date [Fri Aug 31 16:50:52 CST 2018]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@6f60de07
2018-08-31 16:50:52.635 INFO 9324 --- [9uOLZV0TWJm8g-1] f.a.AutowiredAnnotationBeanPostProcessor : JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
2018-08-31 16:50:52.664 INFO 9324 --- [9uOLZV0TWJm8g-1] o.s.boot.SpringApplication : Started application in 9.372 seconds (JVM running for 2744.746)
2018-08-31 16:50:52.665 INFO 9324 --- [9uOLZV0TWJm8g-1] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@7205494f: startup date [Fri Aug 31 16:50:52 CST 2018]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@6f60de07
2018-08-31 16:50:52.665 INFO 9324 --- [9uOLZV0TWJm8g-1] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@6f60de07: startup date [Fri Aug 31 16:50:44 CST 2018]; root of context hierarchy
2018-08-31 16:50:52.666 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Shutting down DiscoveryClient ...
2018-08-31 16:50:52.671 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Completed shut down of DiscoveryClient
2018-08-31 16:50:52.778 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Shutting down DiscoveryClient ...
2018-08-31 16:50:52.785 INFO 9324 --- [9uOLZV0TWJm8g-1] o.s.c.n.eureka.InstanceInfoFactory : Setting initial instance status as: STARTING
2018-08-31 16:50:55.789 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Unregistering ...
2018-08-31 16:50:55.800 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : DiscoveryClient_SERVICE-CONFIG-CLIENT/localhost:service-config-client:9400 - deregister status: 200
2018-08-31 16:50:55.844 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Completed shut down of DiscoveryClient
2018-08-31 16:50:55.848 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Initializing Eureka in region us-east-1
2018-08-31 16:50:55.851 INFO 9324 --- [9uOLZV0TWJm8g-1] c.n.d.provider.DiscoveryJerseyProvider : Using JSON encoding codec LegacyJacksonJson
2018-08-31 16:50:55.851 INFO 9324 --- [9uOLZV0TWJm8g-1] c.n.d.provider.DiscoveryJerseyProvider : Using JSON decoding codec LegacyJacksonJson
2018-08-31 16:50:55.851 INFO 9324 --- [9uOLZV0TWJm8g-1] c.n.d.provider.DiscoveryJerseyProvider : Using XML encoding codec XStreamXml
2018-08-31 16:50:55.851 INFO 9324 --- [9uOLZV0TWJm8g-1] c.n.d.provider.DiscoveryJerseyProvider : Using XML decoding codec XStreamXml
2018-08-31 16:50:55.955 INFO 9324 --- [9uOLZV0TWJm8g-1] c.n.d.s.r.aws.ConfigClusterResolver : Resolving eureka endpoints via configuration
2018-08-31 16:50:55.956 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Disable delta property : false
2018-08-31 16:50:55.956 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Single vip registry refresh property : null
2018-08-31 16:50:55.956 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Force full registry fetch : false
2018-08-31 16:50:55.956 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Application is null : false
2018-08-31 16:50:55.956 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Registered Applications size is zero : true
2018-08-31 16:50:55.956 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Application version is -1: true
2018-08-31 16:50:55.956 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Getting all instance registry info from the eureka server
2018-08-31 16:50:55.959 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : The response status is 200
2018-08-31 16:50:55.960 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Starting heartbeat executor: renew interval is: 30
2018-08-31 16:50:55.962 INFO 9324 --- [9uOLZV0TWJm8g-1] c.n.discovery.InstanceInfoReplicator : InstanceInfoReplicator onDemand update allowed rate per min is 4
2018-08-31 16:50:55.963 INFO 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Discovery Client initialized at timestamp 1535705455963 with initial instances count: 3
2018-08-31 16:50:55.966 INFO 9324 --- [9uOLZV0TWJm8g-1] o.s.c.n.e.s.EurekaServiceRegistry : Unregistering application service-config-client with eureka with status DOWN
2018-08-31 16:50:55.967 INFO 9324 --- [9uOLZV0TWJm8g-1] o.s.c.n.e.s.EurekaServiceRegistry : Registering application service-config-client with eureka with status UP
2018-08-31 16:50:55.967 WARN 9324 --- [9uOLZV0TWJm8g-1] com.netflix.discovery.DiscoveryClient : Saw local status change event StatusChangeEvent [timestamp=1535705455967, current=UP, previous=DOWN]
2018-08-31 16:50:55.967 INFO 9324 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_SERVICE-CONFIG-CLIENT/localhost:service-config-client:9400: registering service...
2018-08-31 16:50:55.969 INFO 9324 --- [9uOLZV0TWJm8g-1] o.s.cloud.bus.event.RefreshListener : Received remote refresh request. Keys refreshed [config.client.version, server.port, info.profile]
2018-08-31 16:50:55.973 INFO 9324 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_SERVICE-CONFIG-CLIENT/localhost:service-config-client:9400 - registration status: 204
2018-08-31 16:50:55.980 INFO 9324 --- [9uOLZV0TWJm8g-1] o.s.a.r.c.CachingConnectionFactory : Attempting to connect to: [192.168.68.100:5672]
2018-08-31 16:50:56.011 INFO 9324 --- [9uOLZV0TWJm8g-1] o.s.a.r.c.CachingConnectionFactory : Created new connection: rabbitConnectionFactory.publisher#1ce5511d:0/SimpleConnection@b4fc1ee [delegate=amqp://test@192.168.68.100:5672/, localPort= 52407]
2018-08-31 16:50:56.015 INFO 9324 --- [9uOLZV0TWJm8g-1] o.s.amqp.rabbit.core.RabbitAdmin : Auto-declaring a non-durable, auto-delete, or exclusive Queue (springCloudBus.anonymous.pFKC8gHGT9uOLZV0TWJm8g) durable:false, auto-delete:true, exclusive:true. It will be redeclared if the broker stops and is restarted while the connection factory is alive, but all messages will be lost.
Spring Cloud学习笔记【十】配置中心(消息驱动刷新配置)的更多相关文章
- Spring Cloud学习笔记【九】配置中心Spring Cloud Config
Spring Cloud Config 是 Spring Cloud 团队创建的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为服务端与客户端两个部分.其中服务端 ...
- Spring Cloud 学习笔记(一)——入门、特征、配置
[TOC] 0 放在前面 0.1 参考文档 http://cloud.spring.io/spring-cloud-static/Brixton.SR7/ https://springcloud.cc ...
- Spring Cloud学习笔记-011
分布式配置中心:安全保护 由于配置中心存储的内容比较敏感,做一定的安全处理是必需的.为配置中心实现安全保护的方式有很多,比如物理网络限制.OAuth2授权等.由于微服务应用和配置中心都构建与Sprin ...
- Spring Cloud学习笔记-010
分布式配置中心:Spring Cloud Config Spring Cloud Config是Spring Cloud团队创建的一个全新的项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外 ...
- Spring Cloud学习笔记--Spring Boot初次搭建
1. Spring Boot简介 初次接触Spring的时候,我感觉这是一个很难接触的框架,因为其庞杂的配置文件,我最不喜欢的就是xml文件,这种文件的可读性很不好.所以很久以来我的Spring学习都 ...
- Spring Cloud 学习笔记 (一)-- Eureka 服务器
开局一张图,截取了本人学习资料中的一张图,很好地展示了Eureka的架构. Eureka服务器 管理服务的作用.细分为服务注册,服务发现. 所有的客户端在Eureka服务器上注册服务,再从Eureka ...
- Spring Cloud 学习笔记(二)——Netflix
4 Spring Cloud Netflix Spring Cloud 通过自动配置和绑定到Spring环境和其他Spring编程模型惯例,为Spring Boot应用程序提供Netflix OSS集 ...
- Spring Cloud学习笔记-005
服务消费者 之前已经搭建好了微服务中的核心组件——服务注册中心(包括单节点模式和高可用模式).也有了服务提供者,接下来搭建一个服务消费者,它主要完成两个目标,发现服务以及消费服务.其中,服务发现的任务 ...
- Spring Cloud学习笔记-007
声明式服务调用:Spring Cloud Feign Feign基于Netflix Feign实现,整合了Spring Cloud Ribbon和Spring Cloud Hystrix,除了提供这两 ...
随机推荐
- jQuery学习(一)——jQuery入门
1.jQuery基础 Jquery它是一个库(框架),要想使用它,必须先引入! jquery-1.8.3.js:一般用于学习阶段. jquery-1.8.3.min.js:用于项目使用阶段 官网下载后 ...
- QT笔记 -- (6) opengl
参考 http://blog.csdn.net/myths_0/article/details/24431597 用glut绘制一个茶壶 一句话,继承QGLWidget,实现下面三个函数,用子类定义窗 ...
- pthread 的 api 分类
pthreads defines a set of C programming language types, functions and constants. It is implemented w ...
- pycharm日常填坑
pycharm坑很多,今天又遇见了,好吧 ,填坑 场景:从别的地方拷贝过来的项目,导入本地的pycharm 然后选择 然后 还会报错....心累 报错内容: django commands canno ...
- win10安装node/yarn报错2503/2502
当我们从node官网下载windows安装包时会得到一个msi文件,由于win10的安全策略比较严格,所以我们在右键菜单上找不到以管理员运行这个按钮: 普通的exe文件: msi文件: 解决办法: 此 ...
- C#获取实例运行时间StopWatch类
在程序运行时有时需要获取某一步骤的操作时间,C#提供的StopWatch类可以很方便的实现这一目的. StopWatch sw=new StopWatch(); sw.Start(); //Do So ...
- Django模版系统
一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法分类 一.模板语法之变量:语法为 {{ }}: 在 Django 模板中遍历复杂数据结构的关键 ...
- window安装特定补丁(勒索病毒)
最近出现震惊的蠕虫病毒(勒索病毒),微软也做出相应的安全补丁来修复 MS17-010.这时有些同学不想打开电脑 的自动更新,这样会下载大量补丁,要更新完这些补丁要好几个小时,为了不影响正常工作,我们就 ...
- GenIcam标准(三)
2.6. 缓存 如果某个实现对每个写操作支持范围.实现和可用状态的检查,通常会触发一系列对相机的读操作.大多数用于有效性检查的数值很少或不会发生变化,所以可以放入缓存.相机描述文件包含所有必需的定义以 ...
- ZOJ 3369 Saving Princess
Saving Princess Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on ZJU. Origina ...