spring cloud微服务分布式云架构-config配置自动刷新
本项目采用版本选择:
springboot的版本是2.1.2.RELEASE
springcloud的版本是Greenwich.SR1
springcloud仓库使用的是Gitee
1、下载并安装RabbitMq
下载地址:http:/ /www.rabbitmq.com/download.html
Spring Cloud大型企业分布式微服务云架构源码请加一七九一七四三三八零
2、SpringCloud Config Server端配置
config-server pom.xml的配置如下
<?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"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.2.RELEASE</version><!--<version>2.1.4.BUILD-SNAPSHOT</version>--><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.lee.self</groupId><artifactId>config</artifactId><version>0.0.1-SNAPSHOT</version><name>config</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version><spring-cloud.version>Greenwich.SR1</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-config-server</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bus-amqp</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-netflix-eureka-client</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><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><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build><repositories><repository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><snapshots><enabled>true</enabled></snapshots></repository><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url></repository></repositories><pluginRepositories><pluginRepository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><snapshots><enabled>true</enabled></snapshots></pluginRepository><pluginRepository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url></pluginRepository></pluginRepositories></project>复制代码
config-server的bootstrap.yml的配置如下:
server:port: 9010
spring:application:name: configcloud:config:server:git:#码云的用户名和密码及地址username: **** password: ****uri: https://gitee.com/lijiaxi118/blog-repo
eureka:client:service-url:defaultZone: http://localhost:9001/eureka/
management:endpoints:web:exposure:include: "bus-refresh"复制代码
3、SpringCloud Config Client端配置
config-client pom.xml配置如下:
<?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"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.2.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.lee.self</groupId><artifactId>user</artifactId><version>0.0.1-SNAPSHOT</version><name>user</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version><spring-cloud.version>Greenwich.SR1</spring-cloud.version></properties><dependencies><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-starter-openfeign</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bus-amqp</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- 增加swagger ui展示 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.4.0</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.4.0</version></dependency></dependencies><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><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build><repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url></repository></repositories></project>复制代码
config-client的bootstrap.yml配置:
spring:application:name: usercloud:config:discovery:service-id: configenabled: trueprofile: proeureka:client:service-url:defaultZone: http://localhost:9001/eureka/server:port: 9005
ribbon:eureka:enabled: true复制代码
4、测试
启动注册中心eureka
启动config server 访问localhost:9010/user-dev.yml监测是否启动成功
启动config client
在client项目中写一个测试类如下
测试类如下
@Component
@RefreshScope
@Data
@ConfigurationProperties(prefix = "spring.redis")
public class RedisConfig {private String host;private String port;
}@RestController
@RequestMapping("/test")
public class ConfigController {@Autowiredprivate RedisConfig redisConfig;@RequestMapping("/print")public String print() {return "host:" +"\t" + redisConfig.getHost()+"====Port:"+redisConfig.getPort();}
}复制代码
页面访问http://localhost:9005/test/print,查看结果
修改gitee中的user-dev.yml文件
使用postman的post请求访问http://localhost:9010/actuator/bus-refresh
继续浏览器访问http://localhost:9005/test/print查看结果是否更新
自此config的刷新基本完成,最后一步在gitee中配置webhooks,每一次push修改之后都会自动的通知到各个客户端
4、配置仓库中的webhooks
点击gitee中的管理——》webhooks,填入外网访问的路径即可。
转载于:https://juejin.im/post/5c91a515e51d4504455d52ff
spring cloud微服务分布式云架构-config配置自动刷新相关推荐
- spring cloud微服务分布式云架构-commonservice-config配置服务搭建
2019独角兽企业重金招聘Python工程师标准>>> 1. 介绍 Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持.使用Config Serve ...
- (二)spring cloud微服务分布式云架构 - 整合企业架构的技术点
spring cloud本身提供的组件就很多,但我们需要按照企业的业务模式来定制企业所需要的通用架构,那我们现在需要考虑使用哪些技术呢? 下面我针对于spring cloud微服务分布式云架构做了以下 ...
- spring cloud微服务分布式云架构 - 整合企业架构的技术点
spring cloud本身提供的组件就很多,但我们需要按照企业的业务模式来定制企业所需要的通用架构,那我们现在需要考虑使用哪些技术呢? 下面我针对于spring cloud微服务分布式云架构做了以下 ...
- (二)spring cloud微服务分布式云架构-整合企业架构的技术点
spring cloud本身提供的组件就很多,但我们需要按照企业的业务模式来定制企业所需要的通用架构,那我们现在需要考虑使用哪些技术呢?Spring Cloud大型企业分布式微服务云架构源码请加一七九 ...
- spring cloud微服务分布式云架构-整合企业架构的技术点
spring cloud本身提供的组件就很多,但我们需要按照企业的业务模式来定制企业所需要的通用架构,那我们现在需要考虑使用哪些技术呢?完整项目的源码来源 技术支持一七九一七四三三八零 下面我针对于s ...
- spring cloud微服务分布式云架构 - 整合企业架构的技术点(二)
点击上面 免费订阅本账号! 本文作者:it菲菲 原文:https://yq.aliyun.com/articles/672231 点击阅读全文前往 spring cloud本身提供的组件就很多,但我们 ...
- spring cloud微服务分布式云架构 - Spring Cloud集成项目简介
Spring Cloud集成项目有很多,下面我们列举一下和Spring Cloud相关的优秀项目,我们的企业架构中用到了很多的优秀项目,说白了,也是站在巨人的肩膀上去整合的.在学习Spring Clo ...
- Spring Cloud微服务分布式云架构—集成项目简介
Spring Cloud集成项目有很多,下面我们列举一下和Spring Cloud相关的优秀项目,我们的企业架构中用到了很多的优秀项目,说白了,也是站在巨人的肩膀上去整合的.在学习Spring Clo ...
- spring cloud微服务分布式云架构 - Spring Cloud简介
Spring Cloud是一系列框架的有序集合.利用Spring Boot的开发模式简化了分布式系统基础设施的开发,如服务发现.注册.配置中心.消息总线.负载均衡.断路器.数据监控等(这里只简单的列了 ...
最新文章
- C++ int,float,double,long表示范围
- mysql my.cnf 找不到_为什么我在mysql的my.cnf下找不到bind-address?
- java timezone 107_java - Java使用TimeZone - 堆栈内存溢出
- [蓝桥杯][算法训练VIP]旅行家的预算(单调栈+贪心)
- Java中的模板方法模式
- android系统打印功能实现,Android实现系统打印功能
- Mobile Widget——让开发移动应用就像做网页
- jvm垃圾回收机制_详解JVM内存管理与垃圾回收机制1 - 内存管理
- android镜子app,Android镜子应用 一面可编程的镜子
- 如何将LaTeX公式拷贝到Word中
- ES6 isFinite()
- 关于订单功能的处理和分析
- Android Studio从gthub上导入新项目的时候,R文件丢失的问题
- 使用python代码举例说明离散随机变量
- Django基于用户画像的电影推荐系统源码(项目源代码)
- Leanote 蚂蚁笔记 云笔记
- 项目管理之敲门砖-PMP证书
- Python:使用opennsfw2对图片/视频进行鉴黄识别
- 鄂尔多斯这名“老赖”被抓了!
- 现在怎么用python 爬取微信的聊天记录