本项目采用版本选择:

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配置自动刷新相关推荐

  1. spring cloud微服务分布式云架构-commonservice-config配置服务搭建

    2019独角兽企业重金招聘Python工程师标准>>> 1. 介绍 Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持.使用Config Serve ...

  2. (二)spring cloud微服务分布式云架构 - 整合企业架构的技术点

    spring cloud本身提供的组件就很多,但我们需要按照企业的业务模式来定制企业所需要的通用架构,那我们现在需要考虑使用哪些技术呢? 下面我针对于spring cloud微服务分布式云架构做了以下 ...

  3. spring cloud微服务分布式云架构 - 整合企业架构的技术点

    spring cloud本身提供的组件就很多,但我们需要按照企业的业务模式来定制企业所需要的通用架构,那我们现在需要考虑使用哪些技术呢? 下面我针对于spring cloud微服务分布式云架构做了以下 ...

  4. (二)spring cloud微服务分布式云架构-整合企业架构的技术点

    spring cloud本身提供的组件就很多,但我们需要按照企业的业务模式来定制企业所需要的通用架构,那我们现在需要考虑使用哪些技术呢?Spring Cloud大型企业分布式微服务云架构源码请加一七九 ...

  5. spring cloud微服务分布式云架构-整合企业架构的技术点

    spring cloud本身提供的组件就很多,但我们需要按照企业的业务模式来定制企业所需要的通用架构,那我们现在需要考虑使用哪些技术呢?完整项目的源码来源 技术支持一七九一七四三三八零 下面我针对于s ...

  6. spring cloud微服务分布式云架构 - 整合企业架构的技术点(二)

    点击上面 免费订阅本账号! 本文作者:it菲菲 原文:https://yq.aliyun.com/articles/672231 点击阅读全文前往 spring cloud本身提供的组件就很多,但我们 ...

  7. spring cloud微服务分布式云架构 - Spring Cloud集成项目简介

    Spring Cloud集成项目有很多,下面我们列举一下和Spring Cloud相关的优秀项目,我们的企业架构中用到了很多的优秀项目,说白了,也是站在巨人的肩膀上去整合的.在学习Spring Clo ...

  8. Spring Cloud微服务分布式云架构—集成项目简介

    Spring Cloud集成项目有很多,下面我们列举一下和Spring Cloud相关的优秀项目,我们的企业架构中用到了很多的优秀项目,说白了,也是站在巨人的肩膀上去整合的.在学习Spring Clo ...

  9. spring cloud微服务分布式云架构 - Spring Cloud简介

    Spring Cloud是一系列框架的有序集合.利用Spring Boot的开发模式简化了分布式系统基础设施的开发,如服务发现.注册.配置中心.消息总线.负载均衡.断路器.数据监控等(这里只简单的列了 ...

最新文章

  1. C++ int,float,double,long表示范围
  2. mysql my.cnf 找不到_为什么我在mysql的my.cnf下找不到bind-address?
  3. java timezone 107_java - Java使用TimeZone - 堆栈内存溢出
  4. [蓝桥杯][算法训练VIP]旅行家的预算(单调栈+贪心)
  5. Java中的模板方法模式
  6. android系统打印功能实现,Android实现系统打印功能
  7. Mobile Widget——让开发移动应用就像做网页
  8. jvm垃圾回收机制_详解JVM内存管理与垃圾回收机制1 - 内存管理
  9. android镜子app,Android镜子应用 一面可编程的镜子
  10. 如何将LaTeX公式拷贝到Word中
  11. ES6 isFinite()
  12. 关于订单功能的处理和分析
  13. Android Studio从gthub上导入新项目的时候,R文件丢失的问题
  14. 使用python代码举例说明离散随机变量
  15. Django基于用户画像的电影推荐系统源码(项目源代码)
  16. Leanote 蚂蚁笔记 云笔记
  17. 项目管理之敲门砖-PMP证书
  18. Python:使用opennsfw2对图片/视频进行鉴黄识别
  19. 鄂尔多斯这名“老赖”被抓了!
  20. 现在怎么用python 爬取微信的聊天记录

热门文章

  1. Spring MVC对象转换说明
  2. 如何把高版本的sqlserver 还原到低版本的 sqlserver
  3. 剑指OFFER之数组中出现次数超过一半的数字(九度OJ1370)
  4. XML 文档对象模型 (DOM)细说
  5. 如何动态创建asp.net 用户控件
  6. 【记录】我在浙江省机器人大赛的第一天
  7. SpringCloud创建Config Client通过Eureka访问Config
  8. logback利用mdc机制为日志增加traceId
  9. 个人博客网站的设计与实现_基于BIS的网站建设的设计与实现
  10. 排序 -> 快速排序