RabbitMQ3.13.x之六_RabbitMQ使用场景

RabbitMQ3.13.x之六_RabbitMQ使用场景

文章目录

  • RabbitMQ3.13.x之六_RabbitMQ使用场景
  • 1. 为什么选择 RabbitMQ?
    • 1. 可互操作
    • 2. 灵活
    • 3. 可靠
  • 2. 常见用户案例
    • 1. 服务解耦
    • 2. 远程过程调用
    • 3. 流处理
    • 4. 物联网

1. 为什么选择 RabbitMQ?

RabbitMQ 是一个可靠且成熟的消息传递和流代理,易于部署在云环境、本地和本地计算机上。它目前被全球数百万人使用。

1. 可互操作

RabbitMQ 支持多种开放标准协议,包括 AMQP 1.0 和 MQTT 5。有多个可用的客户端库,可以与您选择的编程语言一起使用,只需选择一个即可。没有供应商锁定!

2. 灵活

RabbitMQ 提供了许多选项,您可以组合这些选项来定义消息如何从发布者传递到一个或多个使用者。路由、筛选、流式处理、联合身份验证等,应有尽有。

3. 可靠

通过确认消息传递和跨集群复制消息的功能,您可以使用 RabbitMQ 确保您的消息是安全的。

2. 常见用户案例

1. 服务解耦

您有一个需要向最终用户发送通知的后端服务。有两个通知渠道:移动应用程序的电子邮件和推送通知。

后端将通知发布到两个队列,每个队列对应一个通道。管理电子邮件和推送通知的程序订阅他们感兴趣的队列,并在通知到达后立即处理通知。

➡ 好处

  • RabbitMQ 吸收负载峰值。
  • 您可以在不中断整个服务的情况下对通知管理器进行一些维护。

在这里插入图片描述

2. 远程过程调用

你拥有一个音乐厅。演出门票在多个网站和实体售票亭出售。来自所有渠道的订单必须经过一个复杂的过程,以确定客户是否有效地获得了他们的票证,具体取决于可用性。网站或售货亭希望在最短的时间内得到订单的答复。

订单将发布到 RabbitMQ 中具有相关 ID 的队列。然后,推送订单的调用方订阅另一个队列,并等待具有相同相关 ID 的应答。

为了实现低延迟,经典队列非常适合这里,但它的安全性较低 - 调用者仍然可以重试。如果订单不会丢失,您可能更愿意结合使用确认和仲裁队列,以确保消息在确认后是安全的。

此拓扑允许对订单的处理进行序列化,以先到先得的顺序提供服务。这避免了对事务的需要。

➡ 好处

  • RabbitMQ 客户端可以同时是发布者和使用者。
  • RabbitMQ 可用于调度 RPC 调用。

在这里插入图片描述

3. 流处理

您运行一个视频平台。当用户上传新视频时,当视频被安全存储时,您需要完成多项任务:运行一些上传后分析、对视频的低质量副本进行转码、通知订阅作者创作的其他用户,等等。

上传服务将“新视频”事件追加到 RabbitMQ 流中。多个后端应用程序可以订阅该流并相互独立地读取新事件。必须立即通知用户,但上传后分析可以等待并每天运行一次。

➡ 好处

  • 流非常高效,避免了重复消息的需要。
  • 即使有并发消费者,消费者也可以在流中来回切换。

在这里插入图片描述

4. 物联网

您在整个银河系提供包裹递送服务。你有一群太空无人机,它们需要定期向系外行星开普勒-438 b上托管的服务器报告它们的状态。不幸的是,网络连接不是很好…

每个太空无人机都运行一个本地 RabbitMQ 独立节点,该节点缓冲其报告,直到可以与上游 RabbitMQ 建立连接。

当行星对齐时,无人机的 RabbitMQ 将所有报告铲送到上游 RabbitMQ。

➡ 好处

  • RabbitMQ 部署可以链接起来,以满足服务中的不同需求,使用铲子和联合等功能。
  • MQTT 非常适合数百万个并发连接。

在这里插入图片描述

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

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

相关文章

dm8 备份与恢复

dm8 备份与恢复 基础环境 操作系统:Red Hat Enterprise Linux Server release 7.9 (Maipo) 数据库版本:DM Database Server 64 V8 架构:单实例1 设置bak_path路径 --创建备份文件存放目录 su - dmdba mkdir -p /dm8/backup--修改dm.ini 文件…

【教程】宝塔default.db占用空间几十g解决方法|宝塔占用磁盘空间特别大解决方法|宝塔磁盘被占满怎么清理

目录 一、前言二、排查问题三、解决方法 一、前言 用过宝塔创建网站,大家应该都非常熟悉,但是用随着用的时间越来越多,宝塔所占用的空间也越来越多,不停的加大数据盘都没有用,我原先买了30G够用了,随着时间…

docker-ce部署

目录 1. 更新软件包列表 2. 安装必要的软件包,以允许 apt 使用 HTTPS 3. 添加 Docker 的官方 GPG 密钥 4. 设置 Docker CE 的稳定存储库 5. 再次更新包索引以及安装 Docker CE 6. 验证 Docker CE 是否正确安装 7. 将当前用户添加到 docker 用户组,…

智慧牧场数据 7

1 体征数据采集 需求:获取奶牛记步信息 三轴加速度测量:加速度测量计反应的加速向量与当前的受力方向是相反,单位为g 陀螺仪,是用来测量角速度的,单位为度每秒(deg/s) 2000deg/s 相当于1秒钟多少转 1.1…

苹果终止电车项目后大裁员,押注家用机器人,这会是Next Big Thing吗?

ChatGPT狂飙160天,世界已经不是之前的样子。 新建了免费的人工智能中文站https://ai.weoknow.com 新建了收费的人工智能中文站https://ai.hzytsoft.cn/ 更多资源欢迎关注 新的出路,苹果能让我们耳目一新吗? 苹果公司压力山大,何以…

彩虹聚合DNS管理系统v1.0全新发布

聚合DNS管理系统(https://github.com/netcccyun/dnsmgr)可以实现在一个网站内管理多个平台的域名解析,目前已支持的域名平台有:阿里云、腾讯云、华为云、西部数码、CloudFlare。本系统支持多用户,每个用户可分配不同的…

【JSON2WEB】 12基于Amis-admin的动态导航菜单树

【JSON2WEB】01 WEB管理信息系统架构设计 【JSON2WEB】02 JSON2WEB初步UI设计 【JSON2WEB】03 go的模板包html/template的使用 【JSON2WEB】04 amis低代码前端框架介绍 【JSON2WEB】05 前端开发三件套 HTML CSS JavaScript 速成 【JSON2WEB】06 JSON2WEB前端框架搭建 【J…

Day:004(1) | Python爬虫:高效数据抓取的编程技术(数据解析)

数据解析-正则表达式 在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样 把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式! 正则表达式是对字符串操作的一种…

RabbitMQ3.13.x之七_RabbitMQ消息队列模型

RabbitMQ3.13.x之七_RabbitMQ消息队列模型 文章目录 RabbitMQ3.13.x之七_RabbitMQ消息队列模型1. RabbitMQ消息队列模型1. 简单队列2. Work Queues(工作队列)3. Publish/Subscribe(发布/订阅)4. Routing(路由)5. Topics(主题)6. RPC(远程过程调用)7. Publisher Confirms(发布者…

不同设备使用同一个Git账号

想要在公司和家里的电脑上用同一个git账号来pull, push代码 1. 查看原设备的用户名和邮箱 第1种方法, 依次输入 git config user.name git config user.email第2种方法, 输入 cat ~/.gitconfig2. 配置新设备的用户名和邮箱 用户名和邮箱与原设备保持…

vue结合Elempent-Plus/UI穿梭框更改宽度以及悬浮文本显示

由于分辨率不同会导致文本内容显示不全,如下所示: 因此需要 1、悬浮到对应行上出现悬浮信息 实现代码如下所示: 这里只演示Vue3版本代码,Vue2版本不再演示 区别就在插槽使用上Vue3使用:#default“”;Vu…

网络安全教学

如今,组织的信息系统和数据面临着许多威胁。而人们了解网络安全的所有基本要素是应对这些威胁的第一步。 网络安全是确保信息完整性、机密性和可用性(ICA)的做法。它代表了应对硬盘故障、断电事故,以及来自黑客或竞争对手攻击等防御和恢复能力。而后者包…

clickhouse MPPDB数据库--新特性使用示例

clickhouse 新特性: 从clickhouse 22.3至最新的版本24.3.2.23,clickhouse在快速发展中,每个版本都增加了一些新的特性,在数据写入、查询方面都有性能加速。 本文根据clickhouse blog中的clickhouse release blog中,学…

C++数据结构与算法——二叉树的修改与构造

C第二阶段——数据结构和算法,之前学过一点点数据结构,当时是基于Python来学习的,现在基于C查漏补缺,尤其是树的部分。这一部分计划一个月,主要利用代码随想录来学习,刷题使用力扣网站,不定时更…

Redis Desktop Manager可视化工具

可视化工具 Redis https://www.alipan.com/s/uHSbg14XmsL 提取码: 38cl 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。 官网下载(不推荐):http…

SALESFORCE MODEL 简单记录

SALESFORCE MODEL 简单记录,在以下地址可以看到一些salesforce的模型资料 https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_list.htmhttps://architect.salesforce.com/diagrams#framework

2024054期传足14场胜负前瞻

2024054期售止时间为4月7日(周日)20点30分,敬请留意: 本期深盘多,1.5以下赔率3场,1.5-2.0赔率6场,其他场次是平半盘、平盘。本期14场难度中等。以下为基础盘前瞻,大家可根据自身判断…

Spring Cloud介绍

一、SpringCloud总体概述 Cloud Foundry Service Broker:通用service集成进入Cloud Foundry Cluster:服务集群 Consul:注册中心 Security:安全认证 Stream:消息队列 Stream App Starters:Spring Cloud Stre…

记第一次eudsrc拿到RCE(下)

目录 前言 个人介绍 挖洞公式 漏洞介绍 信息泄露漏洞 任意文件读取漏洞 远程命令执行(RCE)漏洞 漏洞详情 漏洞点1 漏洞点2 漏洞点3 修复建议 总结 前言 免责声明 以下漏洞均已经上报漏洞平台。请勿利用文章内的相关技术从事非法测试。若因…

基于python爬虫与数据分析系统设计

**单片机设计介绍,基于python爬虫与数据分析系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于Python爬虫与数据分析系统的设计是一个结合了网络数据抓取、清洗、存储和数据分析的综合项目。这样的系统通常…