springCould中的Bus-从小白开始【11】

目录

🧂1.Bus是什么❤️❤️❤️

🌭2.什么是总线❤️❤️❤️

🥓3.rabbitmq❤️❤️❤️

🥞4.新建模块3366❤️❤️❤️

🍳5.设计思想 ❤️❤️❤️

🍿6.添加消息总线的支持❤️❤️❤️

🥚7.定点通知❤️❤️❤️


1.Bus是什么❤️❤️❤️

  • SpringCloud Bus是将分布式系统的节点轻量级消息系统链接起来的框架
  • 整合了Java的事件处理机制和消息中间件的功能
  • 目前支持RabbitMQKafka。
  • Spring Cloud Bus配合Spring Cloud Config使用可以实现配置的动态刷新。

2.什么是总线❤️❤️❤️

在微服务架构的系统中,通常会使用轻量级的消息代理来构建一个共用的消息主题,并让系统中所有微服务实例都连接上来。由于该主题中产生的消息会被所有实例监听消费,所以称它为消息总线。在总线上的各个实例,都可以方便地广播一些需要让其他连接在该主题上的实例都知道的消息。

3.rabbitmq❤️❤️❤️

虚拟机上安装好rabbitmq

安装详细请看小张的—>从入门到精通RabbitMQ

4.新建模块3366❤️❤️❤️

4.1.建模块❤️❤️

  • 1.在父工程下创建模块
  • 2.注意jdk和maven版本号

4.2.加pom❤️❤️

    <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.example</groupId><artifactId>cloud-api-commons</artifactId><version>${project.version}</version></dependency><!--eureka的Client端--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><!--configClient--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency></dependencies>

4.3.改yml❤️❤️

server:port: 3366
spring:application:name: config-clientcloud:config:label: masterprofile: devname: configuri: http://localhost:3344eureka:client:service-url:defaultZone:  http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka,http://eureka7003.com:7003/eureka#暴露监控端点
management:endpoints:web:exposure:include: "*"

4.4.主启动类❤️❤️

@SpringBootApplication
@EnableEurekaClient
public class ConfigClientMain3366 {public static void main(String[] args) {SpringApplication.run(ConfigClientMain3366.class);}
}

4.5.业务类❤️❤️

@RestController
@RefreshScope
public class ConfigClientController {@Value("${server.port}")private String serverPort;@Value("${config.info}")private String configInfo;@GetMapping("/configInfo")public String getConfigInfo() {return "serverPort:" + serverPort + "\t\t" +",configInfo:"+configInfo;}
}

5.设计思想 ❤️❤️❤️

利用消息总线触发一个服务端ConfigServer的/bus/refresh端点,而刷新所有客户端的配置

6.添加消息总线的支持❤️❤️❤️

6.1.修改3344模块❤️❤️

1.改pom❤️❤️

添加消息总线依赖

        <!--消息总线RabbitMq--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bus-amqp</artifactId></dependency>

2.改yml❤️❤️

添加rabbitmq配置,并暴露刷新端点

server:port: 3344spring:application:name:  cloud-config-centercloud:config:server:git:#gitee上面的仓库地址uri: git@gitee.com:hqdmdxz/springcould-config.git#搜索目录search-paths:- sprongcloud-config#gitee的账号username: 18337062987#gitee的密码password: love4.29#读取分支lable: master#rabbitmq配置rabbitmq:host: 192.168.20.129port: 5672username: rootpassword: 123456#注册到eureka
eureka:client:service-url:defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka,http://eureka7003.com:7003/eureka#暴露bus刷新配置的端点
management:endpoints:web:exposure:include: 'bus-refresh'

6.2.修改3355模块❤️❤️

1.改pom❤️❤️

 添加消息总线依赖

        <!--消息总线RabbitMq--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bus-amqp</artifactId></dependency>

2.改yml❤️❤️

server:port: 3355
spring:application:name: config-clientcloud:#客户端配置config:#分支名称label: master#配置文件名称name: config#读取后缀名称profile: dev#配置中心地址uri: http://localhost:3344rabbitmq:host: 192.168.20.129port: 5672username: rootpassword: 123456
#服务注册到eureka
eureka:client:service-url:defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka,http://eureka7003.com:7003/eureka#暴露监控端点
management:endpoints:web:exposure:include: "*"

6.3.修改3366模块❤️❤️

1.改pom❤️❤️

 添加消息总线依赖

        <!--消息总线RabbitMq--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bus-amqp</artifactId></dependency>

2.改yml❤️❤️

server:port: 3366
spring:application:name: config-clientcloud:#客户端配置config:#分支名称label: master#配置文件名称name: config#读取后缀名称profile: dev#配置中心地址uri: http://localhost:3344rabbitmq:host: 192.168.20.129port: 5672username: rootpassword: 123456
#服务注册到eureka
eureka:client:service-url:defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka,http://eureka7003.com:7003/eureka#暴露监控端点
management:endpoints:web:exposure:include: "*"

6.4.测试❤️❤️

1.启动eureka集群,config配置中心3344,服务3355,服务3366。

2.手动刷新服务3344,一刷新处处生效

2.在gitee上修改版本号,浏览器查看3344,3355,3366. 

7.定点通知❤️❤️

  • 不想全部通知,只想顶点通知3355,不通知3366

公式:

http://localhost:配置中心的端口号/actuator/bus-refresh/{destination)

 至此消息总线基本拿捏~

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/235010.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图解Kubernetes的服务(Service)

pod 准备&#xff1a; 不要直接使用和管理Pods&#xff1a; 当使用ReplicaSet水平扩展scale时&#xff0c;Pods可能被terminated当使用Deployment时&#xff0c;去更新Docker Image Version&#xff0c;旧Pods会被terminated&#xff0c;然后创建新Pods 0 啥是服务&#xf…

OCS2 入门教程(四)- 机器人示例

系列文章目录 前言 OCS2 包含多个机器人示例。我们在此简要讨论每个示例的主要特点。 System State Dim. Input Dim. Constrained Caching Double Integrator 2 1 No No Cartpole 4 1 Yes No Ballbot 10 3 No No Quadrotor 12 4 No No Mobile Manipul…

【java爬虫】首页显示沪深300指数走势图以及前后端整合部署方法

添加首页 本文我们将在首页添加沪深300指数成立以来的整体走势数据展示&#xff0c;最后的效果是这样的 单独贴一张沪深300整体走势图 我感觉从总体上来看指数还是比较稳的&#xff0c;没有特别大的波动&#xff0c;当然&#xff0c;这只是相对而言哈哈。 首先是前端页面 &l…

【python】内存管理和数据类型问题

一、内存管理 Python有一个自动内存管理机制&#xff0c;但它并不总是按照期望的方式工作。例如&#xff0c;如果创建了一个大的列表或字典&#xff0c;并且没有删除它&#xff0c;那么这个对象就会一直占用内存&#xff0c;直到Python的垃圾回收器决定清理它。为了避免这种情…

Android开发基础(一)

Android开发基础&#xff08;一&#xff09; 本篇主要是从Android系统架构理解Android开发。 Android系统架构 Android系统的架构采用了分层的架构&#xff0c;共分为五层&#xff0c;从高到低分别是Android应用层&#xff08;System Apps&#xff09;、Android应用框架层&a…

二线厂商-线上测评-大数据开发

曾经投递过一些中级岗位&#xff0c;在面试之前&#xff0c;会通过邮件的方式把性格测试的题目发给你让你做一下。 一般分为单选题&#xff0c;多选题&#xff0c;性格测试题&#xff0c;认知理解题等等。 大概做了一个小时吧。 单选题&#xff1a; 感觉就是类似于以前高中时候…

前缀和--二维矩阵的前缀和

目录 子矩阵的和思路&#xff1a;代码&#xff1a; 原题链接 子矩阵的和 输入一个 n 行 m 列的整数矩阵&#xff0c;再输入 q 个询问&#xff0c;每个询问包含四个整数 x1,y1,x2,y2 &#xff0c;表示一个子矩阵的左上角坐标和右下角坐标。 对于每个询问输出子矩阵中所有数的和…

C#入门篇(一)

变量 顾名思义就是变化的容器&#xff0c;即可以用来存放各种不同类型数值的一个容器 折叠代码 第一步&#xff1a;#region 第二步&#xff1a;按tab键 14种数据类型 有符号的数据类型 sbyte&#xff1a;-128~127 short&#xff1a;-32768~32767 int&#xff1a;-21亿多~21亿多…

Windows 双网卡链路聚合解决方案

Windows 双网卡链路聚合解决方案 链路聚合方案1&#xff1a;Metric介绍操作 方案2&#xff1a;NetSwitchTeam介绍操作 方案3&#xff1a;NIC介绍操作 方案4&#xff1a;Intel PROSet 链路聚合 指将多个物理端口汇聚在一起&#xff0c;形成一个逻辑端口&#xff0c;以实现出/入…

Java-布隆过滤器的实现

文章目录 前言一、概述二、误差率三、hash 函数的选择四、手写布隆过滤器五、guava 中的布隆过滤器 前言 如果想要判断一个元素是不是在一个集合里&#xff0c;一般想到的是将所有元素保存起来&#xff0c;然后通过比较确定。链表&#xff0c;树等等数据结构都是这种思路&…

Linux权限2

相关命令 chown [用户名] [文件]​ 更改文件拥有者&#xff08;加sudo强制更改&#xff09; chown [拥有者]:[所属组] [文件] 更改文件拥有者和所属组&#xff08;root权限下&#xff09; chgrp [用户名] [文件] 更改文件所属组 文件类型 输入ls或ll显示的文件&#xff…

设备树的绑定文档说明

一. 简介 设备树是用来描述板子上的设备信息的&#xff0c;不同的设备其信息不同&#xff0c;反映到设备树中就是属 性不同。 那么&#xff0c;我们在设备树中添加一个硬件对应的节点的时候从哪里查阅相关的说明呢&#xff1f; 在 Linux 内核源码中有详细的 .txt 文档描述…

【38 Pandas+Pyecharts | 奥迪汽车销量数据分析可视化】

文章目录 &#x1f3f3;️‍&#x1f308; 1. 导入模块&#x1f3f3;️‍&#x1f308; 2. Pandas数据处理2.1 读取数据2.2 查看数据信息2.3 数据处理 &#x1f3f3;️‍&#x1f308; 3. Pyecharts数据可视化3.1 奥迪用户购车时间分布3.2 奥迪各系销量占比饼图3.3 奥迪各系销量…

setup 语法糖

只有vue3.2以上版本可以使用 优点&#xff1a; 更少的样板内容&#xff0c;更简洁的代码 能够使用纯 Typescript 声明props 和抛出事件 更好的运行时性能 更好的IDE类型推断性能 在sciprt标识上加上setup 顶层绑定都可以使用 不需要return &#xff0c;可以直接使用 使用组件…

如何设置电脑桌面提醒,电脑笔记软件哪个好?

对于大多数上班族来说&#xff0c;每天要完成的待办事项实在太多了&#xff0c;如果不能及时去处理&#xff0c;很容易因为各种因素导致忘记&#xff0c;从而给自己带来不少麻烦。所以&#xff0c;我们往往会借助一些提醒类的软件将各项任务逐一记录下来&#xff0c;然后设置上…

66、python - 代码仓库介绍

上一节,我们可以用自己手写的算法以及手动搭建的神经网络完成预测了,不知各位同学有没有自己尝试来预测一只猫或者一只狗,看看准确度如何? 本节应一位同学的建议,来介绍下 python 代码仓库的目录结构,以及每一部分是做什么? 我们这个小课的代码实战仓库链接为:cv_lea…

【Java技术专题】「攻破技术盲区」攻破Java技术盲点之unsafe类的使用指南(打破Java的安全管控— sun.misc.unsafe)

Java后门机制 — sun.misc.unsafe 打破Java的安全管控关于Unsafe的编程建议实例化Unsafe后门对象使用sun.misc.Unsafe创建实例单例模式处理实现浅克隆&#xff08;直接获取内存的方式&#xff09;直接使用copyMemory原理分析 密码安全使用Unsafe类—示例代码 运行时动态创建类超…

ocrmypdf_pdf识别

安装 安装说明 https://ocrmypdf.readthedocs.io/en/latest/installation.html#native-windows提到需要的软件&#xff1a; Python 3.7 (64-bit) or later Tesseract 4.0 or later Ghostscript 9.50 or later 安装 ocrmypdf pip install ocrmypdf 添加语言包 https://oc…

常见的软件测试面试题汇总

常见的面试题汇总 1、你做了几年的测试、自动化测试&#xff0c;说一下 selenium 的原理是什么&#xff1f; 我做了五年的测试&#xff0c;1年的自动化测试&#xff1b; selenium 它是用 http 协议来连接 webdriver &#xff0c;客户端可以使用 Java 或者 Python 各种编程语言…

51单片机介绍

1 单片机简介 单片机&#xff0c;英文Micro Controller Unit&#xff0c;简称MCU 内部集成了CPU、RAM、ROM、定时器、中断系统、通讯接口等一系列电脑的常用硬件功能 单片机的任务是信息采集&#xff08;依靠传感器&#xff09;、处理&#xff08;依靠CPU&#xff09;和硬件设…