当前位置: 首页 > news >正文

RebbitMQ 消息队列(简单使用)

消息队列介绍

MQ的优势
1.业务解耦:不同系统消费信息互不关联,灵活增减系统数量,修改某个系统其他系统也不影响
2.异步提速:不同系统之间可同时响应,提升并发量
3.削峰填谷:处理消息高峰期,均摊到后面处理,保护系统的稳定性
MQ的不足
1.系统可用性降低:系统引入的外部依赖越多,系统稳定性越差
2.系统复杂度提高:怎么保证消息没有被重复消费,消息丢失,消息传递的顺序性等问题
3.一致性问题:MQ如何解决不同系统处理的一致性问题

MQ需要满足什么条件?
1.生产者不需要获取反馈
2.容器短暂的不一致性
3.能够体现MQ的优势在系统中,获得解耦,提速,削峰这些方面的收益

AMQP是一个消息队列协议,是应用层协议的一个开放标准,面向消息的中间件设计,基于此协议的客户端和消息中间件可传递消息
RabbitMQ由Erlang语言开发
在这里插入图片描述
rabbitmq相关概念
Broker:接受和分发消息的应用,rabbitmq server就是message broker
virtual host:用户空间,每个用户可在自己的vhost创建exchange/queue等
Connection:publisher/consumer和broker之间的tcp连接
channel:作为轻量级的connection极大减少操作系统建立tcp connection的开销
exchange:message到达broker的第一站,根据分发规则,查询表中的routing key,分发消息到queue中,常用类型有direct(point-to-point),topic(publish-subscribe)and fanout(multicast 多路传播)
queue:消息最终被送到这里等待被consumer取走
binding:exchange和queue之间的虚拟连接,binding中可以包含routing key,binding信息被保存到exchange中查询表中,用于message的分发依据

rabbitmq提供的六种工作模式:简单模式,work queues,publish/subscribe发布订阅模式,routing路由模式,topics主题模式,rpc远程调用模式(不常用)
jms:java消息服务应用程序接口,是一个Java平台中关于消息中间件的api

rabbitmq安装

安装亲测有效

rabbitmq简单实现

简单实现 基本实现

rabbitmq工作模式

工作模式就是不同的消息分发方式
1.hello world 模式就是生产消费者模式
在这里插入图片描述

2.work queues工作队列模式
在这里插入图片描述

多个消费端共同消费一个队列中的消息,常用于对于任务过重或任务过多情况使用工作队列可以提高任务处理的速度,各个消费端之间是竞争关系(存在负载均衡和公平模式)
3.pub/sub订阅模式
在这里插入图片描述
在订阅模式中,多了一个exchange交换机的角色
p:生产者,c:消费者,queue:消息队列,exchange:交换机(X)
交换机负责将某个消息交给某个队列或者某些队列,这取决于exchange的类型
fanout:广播,direct:定向,topic:通配符
exchange只负责转发消息,不具备存储消息的能力,因此没有任何队列与exchange绑定或者符合路由规则的队列时时,消息就会丢失
4.routing路由工作模式
在这里插入图片描述

队列与交换机的绑定,不能是任意绑定了,而是要指定一个routing(路由key)
消息发送方在exchange发送消息时,必须指定消息的routingkey
exchange不再是把消息交给每一个绑定的队列,而是根据消息的routingkey进行判断,只有队列的routingkey与消息的routingkey完全一致时才会收到消息
5.topics通配符模式
在这里插入图片描述

  • 表示一个单词,#表示一个或零个单词

springboot整合rabbitmq

参考步骤亲测有效

相关文章:

RebbitMQ 消息队列(简单使用)

消息队列介绍 MQ的优势 1.业务解耦:不同系统消费信息互不关联,灵活增减系统数量,修改某个系统其他系统也不影响 2.异步提速:不同系统之间可同时响应,提升并发量 3.削峰填谷:处理消息高峰期,均摊…...

OpenCV-Python学习(21)—— OpenCV 图像几何变换之图像翻转(cv.flip、np.flip)

1. 学习目标 学习 OpenCV 图像的翻转函数 cv.flip;学习 NumPy 矩阵的反转函数 np.flip;自己实现矩阵反转的函数。 2. OpenCV 翻转 翻转也称镜像,是指将图像沿轴线进行轴对称变换。水平镜像是将图像沿垂直中轴线进行左右翻转,垂直…...

CRM系统能帮外贸行业解决哪些问题

国内的外贸行业经历了四个发展阶段,从发展期到繁荣期,CRM客户管理系统逐步走到幕前,成为外贸企业必不可少的主打工具。那么外贸行业整面临哪些问题?该如何解决?下面我们就来说说适合外贸行业的CRM解决方案。 外贸行业…...

掌握lombok简化Java编码完成后端提效

Lombok安装 –>添加依赖 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.16</version><scope>provided</scope> </dependency>scopeprovided&#xff0c;说…...

【蓝桥集训】第七天——并查集

作者&#xff1a;指针不指南吗 专栏&#xff1a;Acwing 蓝桥集训每日一题 &#x1f43e;或许会很慢&#xff0c;但是不可以停下来&#x1f43e; 文章目录1.亲戚2.合并集合3.连通块中点的数量有关并查集的知识学习可以移步至—— 【算法】——并查集1.亲戚 或许你并不知道&#…...

该来的总会来,继岳云鹏走红之后,孔云龙也和主流相声界打成一片

说起德云社的岳云鹏&#xff0c;都知道他是农民的孩子&#xff0c;初中没有毕业就外出打工&#xff0c;一路辛酸才走到了今天。当年岳云鹏在北京打工&#xff0c;炸酱面馆里面他和孔云龙最好&#xff0c;两个人又经过老先生介绍&#xff0c;一起投奔郭德纲学说相声。 进入德云社…...

索引的创建与设计原则

1.索引的声明与使用 1.1索引的分类 MySQL的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等。 从 功能逻辑 上说&#xff0c;索引主要有 4 种&#xff0c;分别是普通索引、唯一索引、主键索引、全文索引。按照 物理实现方式&#xff0c;索引可以分…...

day51【代码随想录】动态规划之回文子串、最长回文子序列

文章目录前言一、回文子串&#xff08;力扣647&#xff09;二、最长回文子序列&#xff08;力扣516&#xff09;前言 1、回文子串 2、最长回文子序列 一、回文子串&#xff08;力扣647&#xff09; 给你一个字符串 s &#xff0c;请你统计并返回这个字符串中 回文子串 的数目…...

拟凸函数,拟凹函数,单峰函数

拟凸&#xff08;quasi-convex&#xff09;函数很早就听说过&#xff0c;但是标准定义一直不太了解&#xff0c;现在总结一下。 一个定义在凸集上的实数函数 fff 是拟凸函数&#xff1a;若对于其定义域内的任意两个点 xxx 和 yyy&#xff0c;以及任意常数 λ∈[0,1]\lambda\in…...

数据处理(伪)代码:卡尔曼滤波 vs. 卡尔曼平滑

步骤一、导入csv或txt格式的试验数据 最简洁也是据说读取速度最快的方法是&#xff1a; pPath C:\data_org\9#-1.txt % 数据文件 data importdata(pPath); % 读取 pPath 的结果到 一个数据结构变量 data 中。 pData data.data; % 提取有效数据数组data 的数据结构如下&a…...

华为OD机试题,用 Java 解【比赛评分】问题

最近更新的博客 华为OD机试 - 猴子爬山 | 机试题算法思路 【2023】华为OD机试 - 分糖果(Java) | 机试题算法思路 【2023】华为OD机试 - 非严格递增连续数字序列 | 机试题算法思路 【2023】华为OD机试 - 消消乐游戏(Java) | 机试题算法思路 【2023】华为OD机试 - 组成最大数…...

【基础算法】哈希表(开放寻址法)

&#x1f339;作者:云小逸 &#x1f4dd;个人主页:云小逸的主页 &#x1f4dd;Github:云小逸的Github &#x1f91f;motto:要敢于一个人默默的面对自己&#xff0c;强大自己才是核心。不要等到什么都没有了&#xff0c;才下定决心去做。种一颗树&#xff0c;最好的时间是十年前…...

优化算法(寻优问题)

前言 群智能算法&#xff08;全局最优&#xff09;&#xff1a;模拟退火算法&#xff08;Simulated annealing&#xff0c;SA&#xff09;&#xff0c;遗传算法&#xff08;Genetic Algorithm, GA&#xff09;&#xff0c;粒子群算法&#xff08;Particle Swarm Optimization&…...

基于视频流⽔线的Opencv缺陷检测项⽬

代码链接见文末 1.数据与任务概述 输入为视频数据,我们需要从视频中检测出缺陷,并对缺陷进行分类。 2.整体流程 (1)视频数据读取和轮廓检测 首先,我们需要使用opencv读取视频数据,将彩色图转为灰度图后进行图像阈值处理。阈值处理是为了让前景和背景更明显的区分处理。…...

百万数据excel导出功能如何实现?

最近我做过一个MySQL百万级别数据的excel导出功能&#xff0c;已经正常上线使用了。 这个功能挺有意思的&#xff0c;里面需要注意的细节还真不少&#xff0c;现在拿出来跟大家分享一下&#xff0c;希望对你会有所帮助。 原始需求&#xff1a;用户在UI界面上点击全部导出按钮…...

华为OD机试题,用 Java 解【合规数组】问题

最近更新的博客 华为OD机试 - 猴子爬山 | 机试题算法思路 【2023】华为OD机试 - 分糖果(Java) | 机试题算法思路 【2023】华为OD机试 - 非严格递增连续数字序列 | 机试题算法思路 【2023】华为OD机试 - 消消乐游戏(Java) | 机试题算法思路 【2023】华为OD机试 - 组成最大数…...

SAP ABAP中的数据类型 Data Types

简单来说分两种&#xff1a; 数据字典里定义的在ABAP程序里定义的 文章目录1. ABAP数据字典里的1.1 数字型的1.2 字符型1.3 字节型1.4 特殊类型2. 预定义的ABAP数据类型2.1 预定义数字型2.2 预定义字符型2.3 预定义字节型1. ABAP数据字典里的 1.1 数字型的 用在数学计算里的…...

HashMap~

HashMap&#xff1a; HashMap是面试中经常被问到的一个内容&#xff0c;以下两个经常被问到的问题&#xff0c; Question1&#xff1a;底层数据结构&#xff0c;1.7和1.8有何不同&#xff1f; 答&#xff1a;1.7数组&#xff0b;链表&#xff0c;1.8数组&#xff0b;(链表|红…...

EasyNLP集成K-Global Pointer算法,支持中文信息抽取

作者&#xff1a;周纪咏、汪诚愚、严俊冰、黄俊 导读 信息抽取的三大任务是命名实体识别、关系抽取、事件抽取。命名实体识别是指识别文本中具有特定意义的实体&#xff0c;包括人名、地名、机构名、专有名词等&#xff1b;关系抽取是指识别文本中实体之间的关系&#xff1b;…...

mysql lesson3

DQL查找语句续集.............................. 分组函数&#xff08;也叫多行处理函数&#xff09; 1&#xff1a; select sum(sal) from emp;select min(sal)from emp;select max(sal)from emp;select avg(sal)from emp;select count(ename)from emp;2&#xff1a;分组函…...

零基础入门机器人抓取:在快马平台轻松搞定龙虾openclaw安装与第一个程序

最近在学习机器人抓取相关的知识&#xff0c;发现龙虾openclaw是个不错的入门工具。作为一个完全零基础的小白&#xff0c;我在安装和配置环境时遇到了不少困难。好在发现了InsCode(快马)平台&#xff0c;它帮我轻松解决了这些问题。下面分享一下我的学习过程。 了解openclaw …...

百度网盘秒传链接网页工具终极指南:全平台免费极速转存方案

百度网盘秒传链接网页工具终极指南&#xff1a;全平台免费极速转存方案 【免费下载链接】baidupan-rapidupload 百度网盘秒传链接转存/生成/转换 网页工具 (全平台可用) 项目地址: https://gitcode.com/gh_mirrors/bai/baidupan-rapidupload 还在为百度网盘资源分享的繁…...

实战应用:基于快马平台开发类似ahflt.sys的文件操作监控工具

实战应用&#xff1a;基于快马平台开发类似ahflt.sys的文件操作监控工具 最近在研究Windows内核驱动开发时&#xff0c;发现ahflt.sys这类文件系统过滤驱动特别有意思。它能够在系统底层监控文件操作&#xff0c;实现各种高级功能。作为一个开发者&#xff0c;我决定在InsCode…...

macOS 环境安装 Miniconda3 完全指南

macOS 环境安装 Miniconda3 完全指南&#x1f4a1; 摘要: 本文深入讲解了在 macOS 系统上安装 Miniconda3 的完整流程&#xff0c;涵盖环境准备、下载安装、配置优化、虚拟环境管理、常见问题解决等核心内容。结合腾讯地图 Map Skills 开发场景&#xff0c;提供 Python 环境最佳…...

mysql如何管理大规模mysql实例的权限_使用统一的鉴权系统

MySQL大实例权限管理不能靠手工GRANT&#xff0c;因人工同步易导致漏配、错配、主从不一致等问题&#xff1b;必须通过ProxySQL等代理层实现统一鉴权&#xff0c;将权限策略与MySQL执行分离。MySQL 大实例权限管理为什么不能靠手工 GRANT单个 MySQL 实例用 GRANT 配权限没问题&…...

从概念到应用:基于openclaw101.dev功能构思在快马平台构建实战项目

今天想和大家分享一个实战项目经验——如何快速将openclaw101.dev这类技术理念转化为可交互的实际应用。最近我在InsCode(快马)平台上尝试构建了一个任务管理中心SPA&#xff0c;整个过程意外地顺畅&#xff0c;特别适合想快速验证产品原型的开发者。 项目构思 我选择了任务管理…...

实测有效!Yi-Coder-1.5B生成高质量代码案例分享

实测有效&#xff01;Yi-Coder-1.5B生成高质量代码案例分享 1. 引言&#xff1a;一个轻量级但强大的编程伙伴 最近在尝试各种代码生成模型时&#xff0c;我发现了Yi-Coder-1.5B这个宝藏。说实话&#xff0c;一开始看到“1.5B”这个参数规模&#xff0c;我并没有抱太高期望——…...

【UE6.5 C++27 适配权威指南】:20年引擎老兵亲授7步零错误迁移法(含编译器链兼容性验证清单)

第一章&#xff1a;UE6.5 C27 适配的战略认知与前置准备Unreal Engine 6.5 对 C27 标准的初步支持标志着引擎底层工具链的重大演进。这一适配并非简单的编译器升级&#xff0c;而是涉及构建系统、反射机制、蓝图互操作性及内存模型兼容性的系统性重构。开发者需摒弃“仅更新编译…...

千问3.5-2B网页版深度解析:前端上传逻辑、后端推理链路、JSON返回结构

千问3.5-2B网页版深度解析&#xff1a;前端上传逻辑、后端推理链路、JSON返回结构 1. 平台概述 千问3.5-2B是Qwen系列中的轻量级视觉语言模型&#xff0c;专为图片理解与文本生成任务优化设计。这个开箱即用的解决方案将复杂的AI能力封装成简单的网页交互&#xff0c;用户无需…...

AI万能分类器应用解析:零样本分类在舆情分析中的实际价值

AI万能分类器应用解析&#xff1a;零样本分类在舆情分析中的实际价值 1. 引言 每天&#xff0c;互联网上产生数以亿计的文本数据——社交媒体评论、新闻报道、用户反馈、论坛讨论...这些数据蕴含着宝贵的舆情信息&#xff0c;但如何从中快速识别关键话题和情感倾向&#xff0…...