文档章节

java B2B2C Springcloud仿淘宝电子商城系统-消息总线(Spring Cloud Bus)

明理萝
 明理萝
发布于 2019/04/04 09:46
字数 629
阅读 78
收藏 1

spring CloudBus 将分布式的节点和轻量的消息代理连接起来。这可以用于广播配置文件的更改或者其他的管理工作。一个关键的思想就是,消息总线可以为微服务做监控,也可以作为应用程序之间相互通讯。需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码 一零三八七七四六二六

一、准备工作

本文还是基于上一篇文章来实现。按照官方文档,我们只需要在配置文件中配置 spring-cloud-starter-bus-amqp ;这就是说我们需要装rabbitMq,点击rabbitmq下载。至于怎么使用 rabbitmq,搜索引擎下。

二、改造config-client

在pom文件加入spring-cloud-starter-bus-amqp,完整的配置文件如下:

<dependencies>     
     <dependency>       
       <groupId>org.springframework.cloud</groupId>    
          <artifactId>spring-cloud-starter-config</artifactId>       
   </dependency>  
         <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-bus-amqp</artifactId>     
     </dependency>          
 <dependency>         
     <groupId>org.springframework.boot</groupId>         
     <artifactId>spring-boot-starter-actuator</artifactId>     
     </dependency>  

在配置文件application.properties中加上RabbitMq的配置,包括RabbitMq的地址、端口,用户名、密码。并需要加上spring.cloud.bus的三个配置,具体如下:

spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest

spring.cloud.bus.enabled=true
spring.cloud.bus.trace.enabled=true
management.endpoints.web.exposure.include=bus-refresh

ConfigClientApplication启动类代码如下:

@SpringBootApplication  
@EnableEurekaClient  
@EnableDiscoveryClient  
@RestController  
@RefreshScope  
public class ConfigClientApplication {     
  /\*\*     \* http://localhost:8881/actuator/bus-refresh     */    
   public static void main(String\[\] args)  
 {        
  SpringApplication.run(ConfigClientApplication.class, args);    
  }      
 @Value("${foo}")     
 String foo;    
   @RequestMapping(value = "/hi")    
  public String hi(){       
   return foo;     
 }}  

依次启动eureka-server、confg-cserver,启动两个config-client,端口为:8881、8882。

访问http://localhost:8881/hi 或者 http://localhost:8882/hi 浏览器显示:foo version 3

这时我们去代码仓库将foo的值改为“foo version 4”,即改变配置文件foo的值。如果是传统的做法,需要重启服务,才能达到配置文件的更新。此时,我们只需要发送post请求:http://localhost:8881/actuator/bus-refresh, 你会发现config-client会重新读取配置文件,这时我们再访问http://localhost:8881/hi 或者http://localhost:8882/hi ,浏览器显示:foo version 4

另外,/bus/refresh接口可以指定服务,即使用”destination”参数,比如 “/bus/refresh?destination=customers:” 即刷新服务名为customers的所有服务。

© 著作权归作者所有

明理萝
粉丝 73
博文 374
码字总数 356037
作品 0
深圳
私信 提问
加载中

评论(1)

明理萝
明理萝 博主
感兴趣的朋友欢迎讨论哦
java B2B2C 源码 多级分销Springcloud多租户电子商城系统-Spring Cloud eureka

在构建项目之前,我们先学习一下eureka,这是官方的讲解,我这边再重新帮大家回顾一下:需要源码可以加企鹅球球:一零三八七七四六二六 来源: java B2B2C 源码 Springcloud多租户电子商城系...

park
2019/01/15
0
0
这些优秀的 Spring Cloud 开源软件,你知道几个?

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用...

技术小能手
2018/08/30
0
0
Java B2B2C多用户商城 springcloud架构 --注册中心搭建

springCloud和springBoot之间的区别: springboot简化xml配置,快速整合框架 springcloud是一套微服务解决方案,主要用在RPC远程调用 springcloud和springboot之间的关系:springcloud(接口...

明理萝
2019/03/19
96
1
Java B2B2C多用户商城 springboot架构-spring、springMvc、springBoot和springCloud的联系与区别

spring、springMvc、springBoot和springCloud的联系与区别 需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码请加企鹅求求 :二一四七七七五六三三 spring和springM...

it菲菲
2018/12/18
0
0
java电子商务系统源码 Spring MVC+mybatis+spring cloud+spring boot+spring security

鸿鹄云商大型企业分布式互联网电子商务平台,推出PC+微信+APP+云服务的云商平台系统,其中包括B2B、B2C、C2C、O2O、新零售、直播电商等子平台。 分布式、微服务、云架构电子商务平台 java b...

SpringCloud关注者
2017/10/23
1K
2

没有更多内容

加载失败,请刷新页面

加载更多

gem install:无法构建gem native扩展(找不到头文件)

我正在使用Fedora 14,我安装并运行了MySQL和MySQL服务器5.1.42。 现在我尝试以root用户身份执行此操作: gem install mysql 但我得到这个错误: Building native extensions. This could ...

技术盛宴
10分钟前
39
0
就8张图片带你搞清楚JS的原型链

JS(JavaScript)是目前互联网开发中十分重要的一门编程语言,他承载着网页、手机应用程序、硬件程序、微信、微信小程序中的各种特效及处理逻辑功能。

涂老师
13分钟前
14
0
如何在Mac和Windows PC之间无线共享文件

有时候,我需要在Mac和PC之间无线共享文件。由于并非所有人都在使用macOS,因此无论是在办公室还是在家里,这种情况都会发生。尽管并非一帆风顺,但有一种无需任何第三方应用程序即可弥合差距...

mac小叮当
14分钟前
59
0
tp5事务操作

使用事务处理的话,需要数据库引擎支持事务处理。比如 MySQL 的 MyISAM 不支持事务处理,需要使用 InnoDB 引擎。 使用 transaction 方法操作数据库事务,当发生异常会自动回滚,例如: 自动控...

owenzhang24
14分钟前
42
0
tomcat 内存溢出 org.apache.tomcat.util.net.NioEndpoint$Acceptor.run

解决资料: https://www.cnblogs.com/heyongboke/p/9806396.html https://www.cnblogs.com/guoguochong/p/10641615.html 2020-02-12 23:55:09 INFO ShakedownTestRespHandler:92 - 打印实时日......

zaolonglei
24分钟前
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部