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

RabbitMQ的基本介绍

什么是MQ

本质是一个队列,只不过队列中存放的信息是message罢了,还是一种跨进程的通信机制,用于上下游传递信息。在互联网架构中,MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了MQ之后,信息发送上有只需要依赖MQ,不用依赖其他服务。

为什么要使用MQ

  • 流量消峰
  • 应用解耦
  • 异步处理

MQ的分类

  • ActiveMQ
    • 优点:单机吞吐量万级,时效性ms级,可用性高,基于主从架构高可用性,消息可靠性较低的概率丢失数据
    • 缺点:维护较少,高吞吐量场景较少使用
  • Kafka
    • 大数据中使用率高,百万级TPS的吞吐量
    • 优点:吞吐量高、分布式、时效性高、不会丢失数据、使用广泛
    • 缺点:消息失败不支持重试
  • RocketMQ
    • 优点:单机吞吐量高、0丢失、支持10亿级别的消息堆积
    • 缺点:支持客户端语言不多
  • Rabbit
    • 当前最主流的消息中间件之一
    • 优点:支持高并发、性能好、吞吐量高、跨平台、支持多种语言、社区活跃高…
    • 缺点:商业版需要收费,学习成本高

MQ的选择

  • Kafka:大数据、大型公司、日志采集
  • RocketMQ:金融互联网、稳定性上值得信赖、高并发
  • RabbitMQ:时效性微秒级、社区活跃度比较高、数据量没那么大

RabbitMQ

概念

是一个消息中间件:接收、存储和转发信息数据

  • 生产者:生产数据发送信息的程序是生产者
  • 交换机:

    在这里插入图片描述

  • 队列:

    在这里插入图片描述

  • 消费者:

    在这里插入图片描述

核心部分

  • 工作原理

    在这里插入图片描述

  • Broker:接收和分发信息的应用,RabbitMQ Server就是Message Broker

  • Virtual host:

    在这里插入图片描述

  • Connection:publisher/consumer和broker之间的TCP连接

  • Channel:

    在这里插入图片描述

  • Exchange:

    在这里插入图片描述

  • Queue:消息最终被送到这里consumer取走

  • Binding:

    在这里插入图片描述

相关文章:

RabbitMQ的基本介绍

什么是MQ 本质是一个队列,只不过队列中存放的信息是message罢了,还是一种跨进程的通信机制,用于上下游传递信息。在互联网架构中,MQ是一种非常常见的上下游“逻辑解耦物理解耦”的消息通信服务。使用了MQ之后,信息发送…...

AI智能视频监控技术如何助力美好乡村建设?

随着城市化发展,很多乡村设施也在逐渐完善,智能监控也成了乡村发展必不可少的一环,智能视频监控应该在乡村建设里如何发挥作用呢? 1、有效提升安全意识 通过在乡村重要区域、公共场所、道路等设置智能视频监控设备,可…...

【网络安全】2023年堡垒机品牌大全

随着大家网络安全意识的增加,随着国家等保政策的严格执行,越来越多的企业开始采购堡垒机。这里就给大家总结了部分堡垒机品牌,让大家参考参考。 2023年堡垒机品牌大全 1、行云堡垒 2、JumpServer 3、安恒 4、骞云 5、齐治 6、阿里云 …...

makefile相关知识的讲解

目录 makefile文件的介绍 step1:手动创建一个makefile文件 step2:在文件当中编辑指定的命令 step3:退出makefile文件并使用make执行文件当中的命令 step4:使用clean指令清除生成的文件 makefile当中的命令编写方式 目标文件和依…...

OpenCV中的HoughLines函数和HoughLinesP函数到底有什么区别?

一、简述 基于OpenCV进行直线检测可以使用HoughLines和HoughLinesP函数完成的。这两个函数之间的唯一区别在于,第一个函数使用标准霍夫变换,第二个函数使用概率霍夫变换(因此名称为 P)。概率版本之所以如此,是因为它仅分析点的子集并估计这些点都属于同一条线的概率。此实…...

Xilinx FPGA 程序固化重新上电程序不运行的问题

问题描述 FPGA直接下载bit文件,功能正常。 FPGA擦除FLASH,烧写FLASH,正常。 电源断电,重新上电,FALSH里面的程序没有启动,FPGA程序没有跑起来。–FLASH启动不正常。 解决办法 在XDC约束文件里边增加约束: ## Configuration options, can be used for all designs se…...

c++ 使用rapidjson对数据序列化和反序列化(vs2109)

RapidJSON是腾讯开源的一个高效的C JSON解析器及生成器&#xff0c;它是只有头文件的C库&#xff0c;综合性能是最好的。 1. 安装 在NuGet中为项目安装tencent.rapidjson 2. 引用头文件 #include <rapidjson/document.h> #include <rapidjson/memorystream.h> #…...

4.迭代最近点ICP及非线性优化求解

使用非线性优化方法求解ICP 文章目录 使用非线性优化方法求解ICP前情提要ICP问题回顾对矩阵变量求导数 ICP问题的非线性解法代码示例 欢迎访问个人网络日志&#x1f339;&#x1f339;知行空间&#x1f339;&#x1f339; 前情提要 在迭代最近点算法ICP及SVD求解中介绍了ICP问…...

【redis总结】

文章目录 1、redis简介2、为什么要选择redis做缓存3、数据结构4、redis多线程模型redis6.0的变化 5、redis持久化AOF的实现过程RDB的实现过程 6、redis集群的搭建7、 redis过期删除和淘汰策略8、redis的内存淘汰策略 1、redis简介 Redis&#xff08;Remote Dictionary Server&…...

图数据库:释放关系的力量

【squids.cn】 全网zui低价RDS&#xff0c;免费的迁移工具DBMotion、数据库备份工具DBTwin、SQL开发工具等 在数据管理领域&#xff0c;图数据库已经成为一种强大的工具&#xff0c;它彻底改变了我们处理和分析复杂关系的方式。与依赖表和列的传统关系数据库不同&#xff0c;图…...

Windows系统如何临时关闭“Windows安全中心实时保护”

前言 启动windows depender实时保护可能会使系统不太流畅&#xff0c;也可能会导致我们的程序无法正常运行&#xff0c;因为它会拦截或搜索我们的正常工作。 暂时关闭windows depender的实时保护对许多用户来说非常重要。 一、Win10系统关闭方法 打开Windows安全中心&#…...

二叉树MFC实现

设有一颗二叉树如下&#xff1b; 这似乎是一颗经常用作示例的二叉树&#xff1b; 对树进行遍历的结果是&#xff0c; 先序为&#xff1a;3、2、2、3、8、6、5、4&#xff0c; 中序为&#xff1a;2、2、3、3、4、5、6、8&#xff0c; 后序为2、3、2、4、5、6、8、3&#xff1b…...

Nginx之客户并发数限制解读

目录 基本介绍 配置指令 limit_conn_zone limit_conn 其他 limit_rate limit_rate_after limit_req_zone limit_req 基本介绍 在我们进行系统开发设计中&#xff0c;要考虑服务器流量异常&#xff0c;负载过大等问题。对于大流量恶意的攻击访问&#xff0c;会带来带宽…...

白捡一个存储型XSS

本文由掌控安全学院 - 杳若 投稿 起因 利用fofa搜索时发现 org"China Education and Research Network Center" && body"/register" 任意用户注册 在找到该CMS的时候发现存在任意用户注册的情况 http://xxxx.edu.cn/student/Register.ashx …...

SpringMVC 学习(五)转发,重定向和传参

6. 转发和重定向 Spring MVC 的底层是 servlet&#xff0c;因此在 Spring MVC 中也存在转发和重定向的概念。 对于转发而言&#xff0c;其目的页面可以在 WEB-INF 目录下。重定向的目的页面不允许在 WEB-INF 目录下&#xff0c;因为重定向相当于用户再次发起一次请求&#xf…...

selenium不定位元素直接使用键盘操作(如弹框操作)

今天在使用selenium进行定位时&#xff0c;发现直接定位不了chrome的弹框&#xff0c;如这种弹框&#xff1a; 使用的是下面这行代码 driver.switch_to.alert.accept() 运行报错&#xff0c;说是没有 alert windown。。。。 啊&#xff1f;难道chrome的弹框不是用alert写的&…...

Inno Setup安装中文语言

以版本6.2.2为例&#xff1a; 默认安装的Inno Setup是不支持中文语言的&#xff0c;需要我们自行下载安装。 一、打开官网Inno Setup Translations (jrsoftware.org) 下载的文件如下 二、然后重命名放到Inno Setup的如下安装目录中 三、然后重启Inno Setup即可。 打包后的…...

【数据库——MySQL】(10)视图和索引

目录 1. 视图1.1 创建视图1.2 查询视图 2. 索引2.1 索引的分类2.2 索引的建立 参考书籍 1. 视图 1.1 创建视图 基础语法&#xff1a; CREATE [OR REPLACE] VIEW 视图名[(列名表)]ASSELECT语句[WITH CHECK OPTION]说明&#xff1a; 在默认情况下&#xff0c;将在当前数据库创…...

No servers available for service: renren…。 Gateway 网关报503错误 ,已解决

目录 环境配置问题描述loadbalancer的作用 环境配置 问题描述 配置spring cloud gateway使用端口访问就可以&#xff0c;使用lb:// 就报503 gateway:routes:- id: admin_routeuri: lb://gulimall-admin # uri: http://localhost:8080predicates:- Path/api/**filter…...

【Spring Cloud】深入理解 Eureka 注册中心的原理、服务的注册与发现

文章目录 前言一、微服务调用出现的问题1.1 服务消费者如何获取服务提供者的地址信息&#xff1f;1.2 如果有多个服务提供者&#xff0c;消费者该如何选择&#xff1f;1.3 消费者如何得知服务提供者的健康状态&#xff1f; 二、什么是 Eureka2.1 Eureka 的核心概念2.2 Eureka 的…...

PS抠头发太费劲?几种简单方法轻松搞定

作为一名从事平面设计5年的老选手&#xff0c;抠头发绝对是PS修图中最让人头疼的环节——要么抠不干净留杂边&#xff0c;要么太用力丢失细碎发丝&#xff0c;尤其是面对杂色背景、飘逸长发、逆光发丝时&#xff0c;更是让人束手无策。今天就给大家分享3种超实用的PS抠头发丝方…...

终极AI图像分层工具LayerDivider:3分钟完成复杂插画自动分层

终极AI图像分层工具LayerDivider&#xff1a;3分钟完成复杂插画自动分层 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 在数字设计创作中&#xff0c;您…...

CANoe各版本软件包怎么找?从Demo到Full Installer的下载指南与版本选择建议

CANoe版本管理与资源获取全攻略&#xff1a;从Demo到Full Installer的深度实践指南 在汽车电子开发与测试领域&#xff0c;Vector公司的CANoe软件堪称行业标准工具。但许多工程师在实际工作中常遇到这样的困境&#xff1a;项目需要特定历史版本进行兼容性测试&#xff0c;而官网…...

FPGA/CPLD项目隐性成本分析与设计陷阱规避实战指南

1. 项目概述&#xff1a;从一则电视购物广告引发的工程思考最近整理旧资料&#xff0c;翻到一篇十多年前EE Times上的老博客&#xff0c;作者Clive Maxfield聊了个挺有意思的事儿。他吐槽电视购物广告里那句经典的“只需支付单独的处理与手续费”&#xff0c;并敏锐地注意到&am…...

Windows 11任务栏透明化完整教程:TranslucentTB让你的桌面焕然一新

Windows 11任务栏透明化完整教程&#xff1a;TranslucentTB让你的桌面焕然一新 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 想让Windo…...

3步打造你的专属游戏串流服务器:Sunshine终极指南

3步打造你的专属游戏串流服务器&#xff1a;Sunshine终极指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 还在为无法在客厅大电视上玩PC游戏而烦恼吗&#xff1f;想在平板上继…...

从FLAG_ONE_SHOT到FLAG_IMMUTABLE:深入解析Android S+版本PendingIntent的强制变革

1. 当PendingIntent遇上Android S&#xff1a;崩溃背后的安全升级 最近不少开发者在升级targetSdkVersion到31&#xff08;Android 12&#xff09;后&#xff0c;突然遭遇这样的崩溃提示&#xff1a;"Targeting S requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be…...

Arccos Golf数据获取与Python分析实战:开源工具包逆向工程API

1. 项目概述&#xff1a;一个高尔夫数据爱好者的开源工具箱 如果你和我一样&#xff0c;既是个高尔夫爱好者&#xff0c;又对数据分析和自动化工具着迷&#xff0c;那么你很可能听说过Arccos Golf这个平台。它是一个通过传感器和手机应用来追踪每一次击球、分析球场表现的系统。…...

阴阳师百鬼夜行自动化脚本终极指南:3种智能模式解放你的双手

阴阳师百鬼夜行自动化脚本终极指南&#xff1a;3种智能模式解放你的双手 【免费下载链接】OnmyojiAutoScript Onmyoji Auto Script | 阴阳师脚本 项目地址: https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript 你是否曾在深夜为刷百鬼夜行而手指酸痛&#xff1f;是否…...

AutoResearchClaw:基于LLM的自动化研究管线,从想法到论文的工程化实践

1. 项目概述&#xff1a;从“聊个想法”到“生成论文”的自动化研究革命如果你是一名科研工作者、研究生&#xff0c;或者任何需要产出高质量学术内容的人&#xff0c;你肯定经历过这样的痛苦&#xff1a;一个绝妙的研究想法在脑海中诞生&#xff0c;但随之而来的是海量的文献调…...