config-server-eureka-bus-rabbitmq

1. File-->new spring starter project

2.add dependency

  1. <parent>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-parent</artifactId>
  4. <version>2.1.5.RELEASE</version>
  5. <relativePath/> <!-- lookup parent from repository -->
  1. <dependency>
  2. <groupId>org.springframework.cloud</groupId>
  3. <artifactId>spring-cloud-starter-bus-amqp</artifactId>
  4. </dependency>
  5. <dependency>
  6. <groupId>org.springframework.cloud</groupId>
  7. <artifactId>spring-cloud-config-server</artifactId>
  8. </dependency>
  9. <dependency>
  10. <groupId>org.springframework.cloud</groupId>
  11. <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
  12. </dependency>
  13. <dependency>
  14. <groupId>org.springframework.boot</groupId>
  15. <artifactId>spring-boot-starter-actuator</artifactId>
  16. </dependency>

3.Edit application.yml

  1. server:
  2. port:
  3. #spring cloud config native
  4. spring:
  5. profiles:
  6. active: native
  7. application:
  8. name: config-server-eureka
  9. cloud:
  10. config:
  11. server:
  12. native:
  13. search-locations: /home/smile/workspace-sts/config-repo
  14. #spring cloud config git
  15. #spring:
  16. # application:
  17. # name: config-server-eureka
  18. # cloud:
  19. # config:
  20. # server:
  21. # git:
  22. # uri: http://localhost:3380/root/smile.git
  23. # search-paths: config-repo
  24. # username: root
  25. # password: root123456
  26.  
  27. eureka:
  28. client:
  29. service-url:
  30. defaultZone: http://localhost:8761/eureka/
  31.  
  32. ## actuator refresh
  33. management:
  34. # server:
  35. # port:
  36. endpoint:
  37. refresh:
  38. enabled: true
  39. endpoints:
  40. web:
  41. exposure:
  42. include: '*'
  43. # - info
  44. # - health
  45. # - refresh
  46. #       include: '*' 开启所有接口。包含用到的 /actuator/bus-refresh

pplication.properties

  1. ## 开启消息跟踪
  2. spring.cloud.bus.trace.enabled=true
  3. ##rabbimq
  4. spring.rabbitmq.host=localhost
  5. spring.rabbitmq.port=
  6. spring.rabbitmq.username=guest
  7. spring.rabbitmq.password=guest
  8.  
  9. spring.devtools.add-properties=false

4.program

  1. package com.smile;
  2.  
  3. import org.springframework.boot.SpringApplication;
  4. import org.springframework.boot.autoconfigure.SpringBootApplication;
  5. import org.springframework.cloud.config.server.EnableConfigServer;
  6. import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
  7.  
  8. @SpringBootApplication
  9. @EnableEurekaClient
  10. @EnableConfigServer
  11. public class ConfigServerEurekaBusRabbitmqApplication {
  12.  
  13. public static void main(String[] args) {
  14. SpringApplication.run(ConfigServerEurekaBusRabbitmqApplication.class, args);
  15. }
  16.  
  17. }

5.Run

visit: http://localhost:8000/smile/config-dev

refresh :

post: localhost:8000/actuator/bus-refresh

config-client-eureka-bus-rabbitmq

1. File-->new spring project

2.add dependency

  1. <parent>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-parent</artifactId>
  4. <version>2.1.5.RELEASE</version>
  5. <relativePath/> <!-- lookup parent from repository -->
  6. </parent>
  1. <dependency>
  2. <groupId>org.springframework.cloud</groupId>
  3. <artifactId>spring-cloud-starter-config</artifactId>
  4. </dependency>
  5. <dependency>
  6. <groupId>org.springframework.cloud</groupId>
  7. <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
  8. </dependency>
  9. <dependency>
  10. <groupId>org.springframework.cloud</groupId>
  11. <artifactId>spring-cloud-starter-bus-amqp</artifactId>
  12. </dependency>
  13. <dependency>
  14. <groupId>org.springframework.boot</groupId>
  15. <artifactId>spring-boot-starter-web</artifactId>
  16. </dependency>

3.Edit bootstrap.yml

  1. server:
  2. port:
  3.  
  4. spring:
  5. application:
  6. name: config-client-eureka
  7. cloud:
  8. config:
  9. # uri: http://localhost:8000/
  10. discovery:
  11. enabled: true
  12. service-id: config-server-eureka
  13. name: smile
  14. profile: config-dev
  15. # dev 开发环境配置文件 | test 测试环境 | pro 正式环境 smile-config-dev.properties {name}-{profile}.properties
  16. bus:
  17. trace:
  18. enabled: true
  19. rabbitmq:
  20. host: localhost
  21. port:
  22. username: guest
  23. password: guest
  24.  
  25. eureka:
  26. client:
  27. # registerWithEureka: false
  28. # fetchRegistry: false
  29. serviceUrl:
  30. defaultZone: http://localhost:8761/eureka/
  31.  
  32. management:
  33. endpoint:
  34. refresh:
  35. enabled: true
  36. # endpoints:
  37. # web:
  38. # exposure:
  39. # include: '*'
  40. #此处不再需要手动刷新

4.program

  1. package com.smile;
  2.  
  3. import org.springframework.boot.SpringApplication;
  4. import org.springframework.boot.autoconfigure.SpringBootApplication;
  5. import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
  6.  
  7. @SpringBootApplication
  8. @EnableEurekaClient
  9. public class ConfigClientEurekaBusRabbitmqApplication {
  10.  
  11. public static void main(String[] args) {
  12. SpringApplication.run(ConfigClientEurekaBusRabbitmqApplication.class, args);
  13. }
  14.  
  15. }
  1. package com.smile.controller;
  2.  
  3. import org.springframework.beans.factory.annotation.Value;
  4. import org.springframework.cloud.context.config.annotation.RefreshScope;
  5. import org.springframework.web.bind.annotation.RequestMapping;
  6. import org.springframework.web.bind.annotation.RestController;
  7.  
  8. @RestController
  9. @RefreshScope
  10. public class ConfigClientController {
  11.  
  12. @Value("${name}")
  13. String name;
  14. @Value("${age}")
  15. String age;
  16.  
  17. @RequestMapping("/hello")
  18. public String hello() {
  19. return "name:"+name+",age:"+age;
  20. }
  21. }

5.Run

test

update smile-config-dev.properties  age=23-->age=24

post   http://localhost:8000/actuator/bus-refresh with firefox

visit  http://localhost:8003/hello/   this age is 24

spring cloud:config-eureka-refresh-bus-rabbitmq的更多相关文章

  1. Spring Cloud Security&Eureka安全认证(Greenwich版本)

    Spring Cloud Security&Eureka安全认证(Greenwich版本) 一·安全 Spring Cloud支持多种安全认证方式,比如OAuth等.而默认是可以直接添加spr ...

  2. spring Cloud 之 Eureka、Feign、Hystrix、Zuul、Config、Bus

    一.服务发现——Netflix Eureka Eureka包含两个组件: Eureka Server和Eureka Client 1.创建Eureka Server服务端 (1).引入依赖 父工程po ...

  3. springboot+cloud 学习(五)统一配置中心 spring cloud config + cloud bus + WebHooks +RibbitMQ

    前言 微服务要实现集中管理微服务配置.不同环境不同配置.运行期间也可动态调整.配置修改后可以自动更新的需求,Spring Cloud Config同时满足了以上要求.Spring Cloud Conf ...

  4. Greenwich.SR2版本的Spring Cloud Config+BUS实例

    Spring Cloud Config统一的配置中心同注册中心Eureka一样,也分服务端和客户端.服务端用来保存配置信息,客户端用来读取.它的优势是基于Git仓库,支持多环境.多分支配置.动态刷新. ...

  5. 跟我学SpringCloud | 第七篇:Spring Cloud Config 配置中心高可用和refresh

    SpringCloud系列教程 | 第七篇:Spring Cloud Config 配置中心高可用和refresh Springboot: 2.1.6.RELEASE SpringCloud: Gre ...

  6. 通过总线机制实现自动刷新客户端配置(Consul,Spring Cloud Config,Spring Cloud Bus)

    通过总线机制实现自动刷新客户端配置 方案示意图 利用Git服务的webhook通知功能,在每次更新配置之后,Git服务器会用POST方式调用配置中心的/actuator/bus-refresh接口,配 ...

  7. spring cloud config与eureka配合使用

    前面两篇介绍了Spring Cloud Config服务端和客户端的简单配置,本篇介绍Spring Cloud Config与Eureka配合使用 前言 默认情况下,配置客户端启动时,都是通过配置属性 ...

  8. spring cloud config搭建说明例子(二)-添加eureka

    添加注册eureka 服务端 ConfigServer pom.xml <dependency> <groupId>org.springframework.cloud</ ...

  9. Spring Cloud(九)高可用的分布式配置中心 Spring Cloud Config 集成 Eureka 服务

    上一篇文章,讲了SpringCloudConfig 集成Git仓库,这一篇我们讲一下SpringCloudConfig 配和 Eureka 注册中心一起使用 在分布式系统中,由于服务数量巨多,为了方便 ...

  10. .NET Core微服务之基于Steeltoe使用Spring Cloud Config统一管理配置

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 =>  Steeltoe目录快速导航: 1. 基于Steeltoe使用Spring Cloud Eureka 2. 基于Steelt ...

随机推荐

  1. Python sklearn拆分训练集、测试集及预测导出评分 决策树

    机器学习入门 (注:无基础可快速入门,想提高准确率还得多下功夫,文中各名词不做过多解释) Python语言.pandas包.sklearn包   建议在Jupyter环境操作 操作步骤 1.panda ...

  2. tornado源码简单实现

    首先基本的同步流程是: class Index(tornado.web.RequestHandle): def get(self): self.write('hellow,word') app = t ...

  3. EasyTest-接口自动化测试平台部署上线问题记录

    平台url:   http://easytest.xyz 花巨资搞了个阿里云服务器,哈哈,有想体验指导的大佬私聊我~~~ 部署环境 云服务器:Ubuntu Server 16.04.1 LTS 64位 ...

  4. Vue2 & ElementUI实现管理后台之input获得焦点

    Vue.directive('focus', function (el, option) { var defClass = 'el-input', defTag = 'input'; var valu ...

  5. 1.javascript知识点总结

    1.写javaScript的三种方式: 2.写javaScript的注意事项: ①严格区分字母的大小写: ②空格和换行.多余的空格会被忽略,可以将一行代码分成多行写: ③分号作为一个语句的结束: ④单 ...

  6. Java加载Class文件的原理机制

    详见:http://blog.sina.com.cn/s/blog_6cbfd2170100ljmp.html 1.Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器 ...

  7. Linux--目录管理与文件管理--02

    ******Linux目录结构与目录管理******* 一.Linux目录结构: 1.目录创建规则:FHS文件系统层次化标准 指定了Linux操作系统的哪些目录是一定要具备的 2.目录的结构 树形结构 ...

  8. 利用cmd运行java程序

    在运行以下程序时,要确保正确配置java的环境变量!!! 此处仅仅使用“记事本”来写java程序!!! 1. 新建一个记事本文件,命名为HelloWorld.java 这里需要注意的是,要确保关闭了隐 ...

  9. (转)JAVA socket 进行十六进制报文交互测试

    import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io. ...

  10. Parallel并行循环

    Parallel.For(, , new ParallelOptions() { MaxDegreeOfParallelism = 100 },(i, pls) => { ) { pls.Bre ...