第十章 Bus信息总线

Bus信息总线

gitee:springcloud_study: springcloud:服务集群、注册中心、配置中心(热更新)、服务网关(校验、路由、负载均衡)、分布式缓存、分布式搜索、消息队列(异步通信)、数据库集群、分布式日志、系统监控链路追踪。

1. 概述

Springcloud Config使用可以实现配置的动态刷新,防止忘记手动刷新。

是什么?

Spring Cloud Bus是用来将分布式系统的节点与轻量级消息系统链接起来的框架, 它整合了Java的事件处理机制和消息中间件的功能。Bus支持两种代理:RabbitMQ和Kafka。上图是直接推送给一个服务,也可以直接推送给server config这个服务,来实现消息的推送。

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

基本原理 ConfigClient实例都监听MQ中同一个topic(默认是springCloudBus)。当一个服务刷新数据的时候,它会把这个信息放入到Topic中,这样其它监听同一Topic的服务就能得到通知,然后去更新自身的配置。

2. RabbitMQ环境配置

Windows安装rabbitMq

1.安装Erlang,下载地址:http://erlang.org/download/opt_win64_21.3.exe
2.安装RabbitMQ,下载地址:https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.14/rabbitmq-server-3.7.14
3.进入sbin目录,输入管理和启动功能rabbitmq-plugins enable rabbitmq management
4.访问地址查看是否安装成功:http://localhost:15672/,默认的账号和密码是guest

Linux安装rabbitMq

3. Springcloud Bus动态刷新全局广播

创建cloud-config-client3366,演示广播效果

  1. pom文件跟cloud-config-client3355一样

  2. application.yaml也跟cloud-config-client3355一样

  3. controller和主启动基本一样

设计思想

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

2.利用消息总线触发一个服务端ConfigServer的/bus/refresh端点,而刷新所有客户端的配置技术上选择config server进行广播实现,减少业务服务端的繁琐性。

给cloud-config-center-3344配置中心服务端添加消息总线支持

  1. pom添加

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
  1. application.yaml

server:port: 3344
​
spring:application:name: cloud-config-centercloud:config:server:git:password: 12345678username: rooturi: http://192.168.25.153:1000/root/cloud_config.gitsearch-paths:- cloud_config
#          private-key:
#            -----BEGIN RSA PRIVATE KEY-----
#            
#            -----END RSA PRIVATE KEY-----label: main   #分支
​
#rabbitmq配置
rabbitmq:host: 192.168.25.153port: 5672username: adminpassword: aaaaaa
​
eureka:client:service-url:defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka
​
#rabbitmq相关配置,暴露bus网新配置的端点
management:endpoints:web:exposure:include: 'bus-refresh'

给cloud-config-client-3355|3366客户端添加消息总线支持

  1. pom文件

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
  1. applcation.yaml

15672端口,连接时使用5672这个。

测试:

修改之前:

修改之后:(修改并发送Post请求)

访问:


4. SpringCloud Bus动态刷新定点通知

固定服务通知,案例设置只通知3355,不通知3366。

具体实施例子: 公式: http://localhost:3344/actuator/bus-refresh/{destination},/bus/refresh请求不再发送到具体的服务实例上,而是发给config server通过destination参数类指定需要更新配置的服务或实例。

测试:

通知总结All:

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【PyQt】(自定义类)QIcon派生,更易用的纯色Icon

嫌Qt自带的icon太丑&#xff0c;自己写了一个&#xff0c;主要用于纯色图标的自由改色。 当然&#xff0c;图标素材得网上找。 Qt原生图标与现代图标对比&#xff1a; 没有对比就没有伤害 Qt图标 网络素材图标 自定义类XJQ_Icon&#xff1a; from PyQt5.QtGui import QIc…

Java连接Mysql报错:javax.net.ssl.SSLException: Received fatal alert: internal_error

大致报错日志如下&#xff1a; The last packet successfully received from the server was 11 milliseconds ago. The last packet sent successfully to the server was 10 milliseconds ago.at sun.reflect.GeneratedConstructorAccessor275.newInstance(Unknown Source)…

Jackson—Anti-Human IgE Antibodies

Jackson lmmunoResearch推出一系列适用于诊断试剂研发的Mouse Monoclonal Anti-Human IgE antibodies&#xff08;小鼠抗人IgE单克隆抗体&#xff09;&#xff0c;补充了Jackson现有的抗人lgG、IgM和lgA抗体产品&#xff0c;抗人IgE可与一系列特定的报告分子偶联&#xff08;如…

HTML+CSS+JS网页设计期末课程大作业 web课程设计 web前端开发 网页规划与设计

HTMLCSSJS网页设计期末课程大作业 web前端开发技术 web课程设计 网页规划与设计 &#x1f4a5; 文章目录一、&#x1f6a9; 网站描述二、&#x1f38c; 网站介绍三、&#x1f3f4; 网站类型A 个人博客主题B 人物明星主题C 旅游主题D 游戏主题E 动漫主题F 美食主题G 校园主题H 企…

HTML5+CSS3小实例:左右摇晃的输入框

实例:左右摇晃的输入框 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge">&l…

网页设计期末 建筑博物馆首页 HTML+CSS+js 完整代码(轮播图+瀑布流)

文章目录 前言&#xff1a;完整代码在总结处跳转&#xff01;&#xff01;&#xff01; 描述&#xff1a;结果展示&#xff1a;部分代码演示&#xff1a;&#xff08;完整代码在总结处跳转&#xff09;总结&#xff1a;&#xff08;完整代码在此处跳转&#xff09; 前言&#x…

Unity C# Mp3 Mp4 音频 视频 合成

需求 将声音文件合并到视频中 限制 暂时只支持Windows使用 准备 下载ffmpeg.exe 解压后得到exe https://ffmpeg.org/download.html#releases 注意事项&#xff1a; 目录要在一起 代码 public void StartExe(){if (File.Exists(ffmpegExe)){ string mp4;string mp3;//…

Python爱心光波完整代码

文章目录 环境需求完整代码详细分析环境需求 python3.11.4PyCharm Community Edition 2023.2.5pyinstaller6.2.0(可选,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需要这个库哦~)【注】 python环境搭建请见:https://want595.blog.csdn.net/arti…

数据库开发之子查询案例的详细解析

1.5 案例 基于之前设计的多表案例的表结构&#xff0c;我们来完成今天的多表查询案例需求。 准备环境 将资料中准备好的多表查询的数据准备的SQL脚本导入数据库中。 分类表&#xff1a;category 菜品表&#xff1a;dish 套餐表&#xff1a;setmeal 套餐菜品关系表&#x…

盘点2023年Sui游戏领域的五大亮点

在不断发展的Web3游戏领域中&#xff0c;Sui作为一个强大的平台&#xff0c;为游戏行业的转型之旅开辟了独特的道路。Sui独特的网络架构提供了可扩展性和高吞吐量&#xff0c;使得区块链环境下的游戏成为可能。Sui原生功能的应用&#xff0c;如赞助交易&#xff0c;显著简化了游…

湘潭大学-2023年下学期-c语言-作业0x0a-综合1

A 求最小公倍数 #include<stdio.h>int gcd(int a,int b) {return b>0?gcd(b,a%b):a; }int main() {int a,b;while(~scanf("%d%d",&a,&b)){if(a0&&b0) break;printf("%d\n",a*b/gcd(a,b));}return 0; }记住最大公约数的函数&…

2024年科技行业十大经济预测

当我们站在新的一年的风口浪尖上时&#xff0c;科技行业正准备迎接重大变革和创新&#xff0c;这些变革和创新将塑造2024年的经济格局。以下是未来一年科技行业的十大经济预测。 低代码&#xff1a;低代码和无代码平台从 3 年前开始被大规模的应用&#xff0c;发展到现在已经逐…

cf918div4的E题讲解

虽然是div4&#xff0c;但是打的稀烂&#xff0c;哭死。 E题看了jiangly的题解豁然开朗&#xff0c;原来思路这么简单。被自己蠢到了&#xff0c;我傻傻的用前缀和&#xff0c;两层for枚举区间&#xff0c;不出意外TLE了&#xff0c;写的那一刻就知道要超时&#xff0c;但是没…

AVL树(超详解)

文章目录 前言AVL树的概念AVL树的实现定义AVL树insert 单旋左单旋右单旋左单旋代码右单旋代码 双旋左右双旋右左双旋 测试AVL树的性能 前言 AVL树是怎么来的呢&#xff1f; 我们知道搜索二叉树会存在退化问题&#xff0c;退化以后就变成单支或者接近单支。 它的效率就变成O(N)…

【每日一题】收集巧克力

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;枚举操作数 写在最后 Tag 【枚举】【数组】【2023-12-28】 题目来源 2735. 收集巧克力 题目解读 有长度为 n, 下标从 0 开始的整数数组 nums, 表示收集不同类型的巧克力的成本. nums[i] 表示收集类型 i 巧克力的成本…

3、Git分支操作与团队协作

Git分支操作 1.什么是分支2. 分支的好处3. 分支的操作3.1 查看分支3.2 创建分支3.3 切换分支3.4 修改分支3.5 合并分支3.6 产生和解决冲突 4. 创建分支和切换分支图解5. Git团队协作机制团队内协作跨团队协作 均在git bash中进行操作。事先建好本地工作库 1.什么是分支 在版本…

「亲测有效」ChatGPT Plus会员/GPT4开通方法 — 仅需支付宝或微信

这是我这两天找到的一个「只需要有支付宝或者微信」就可行的会员开通方法。 这个方法亲测有效&#xff0c;半个小时前给一个新的ChatGPT账号成功开通Plus会员&#xff0c; 并且只要有微信或支付宝就能成功支付 准备工作 首先我们准备好一个没有开通GPT4的ChatGPT账号&#xf…

国产双链笔记软件Blossom

什么是 Blossom &#xff1f; Blossom 是一款支持私有部署的云端存储双链笔记软件 &#xff0c;你可以将你所有的笔记&#xff0c;图片&#xff0c;个人计划安排保存在自己的服务器中&#xff0c;并在任意设备之间实时同步&#xff0c;同时&#xff0c;Blossom 还是一个动态博客…

青龙方风水禁忌

峰民曾经去西洞庭给一位装修房子的福主进行了详细的风水策划&#xff0c;在他家纠正了很多不利的风水格局之处。其实&#xff0c;峰民每次给福主进行风水策划的过程中&#xff0c;都会发现很多的问题。 就现在进行家装的朋友&#xff0c;这里峰民给大家提一个实用的风水问题&am…

计算机图形学光线追踪大作业C++基于Optix为框架实现的光线追踪算法合集,含直射光阴影效果、漫反射阴影效果、镜面反射效果等示例

MineRay 使用Optix为框架实现的光线追踪算法。 包含4个示例&#xff0c;直射光阴影效果、漫反射阴影效果、镜面反射效果、折射效果 环境需求 本项目在Windows 10中测试&#xff0c;以下环境为Windows中的环境 CUDA 10.1 OptiX 7 SDK cmake 编译方式 使用cmake编译 打开Mi…