SpringCloud学习系列之五-----配置中心(Config)和消息总线(Bus)完美使用版 (3)

注: spring-boot-starter-actuator这个是必须的,不然是无法在服务端进行配置刷新请求的。如果是使用的kafka的话,只需将spring-cloud-starter-bus-amqp改成spring-cloud-starter-bus-kafka即可。

然后再到配置文件中添加如下配置:

配置信息:

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的地址和端口即可。

服务端代码和之前一样即可,在程序主类中,额外添加@EnableConfigServer注解,该注解表示启用config配置中心功能。代码如下:

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

完成上述代码之后,我们的配置中心服务端已经构建完成了。

注册中心和之前保持一致就可以了。

客户端

客户端这边的变动基本不大,增加一个rabbitmq的jar包和相应的配置文件即可。
在springcloud-config-bus-clinet的pom文件添加如下配置:

<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>

bootstrap.properties文件的配置信息和之前的基本一样,完整的配置如下:

配置信息:

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交互的地址,客户端的查询服务和注册服务都需要依赖这个地址。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyyxpd.html