首页 > 其他分享 >RabbitMQ3.x之六_RabbitMQ使用场景

RabbitMQ3.x之六_RabbitMQ使用场景

时间:2024-04-03 19:00:57浏览次数:28  
标签:视频 服务 订单 RabbitMQ3 通知 之六 队列 RabbitMQ

RabbitMQ3.x之六_RabbitMQ使用场景

文章目录

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 非常适合数百万个并发连接。

在这里插入图片描述

标签:视频,服务,订单,RabbitMQ3,通知,之六,队列,RabbitMQ
From: https://blog.csdn.net/yuanjinshenglife/article/details/137354985

相关文章

  • 天翼云充值:分布式消息服务RabbitMQ支持AMQP协议,兼容RabbitMQ生态
    天翼云充值:分布式消息服务RabbitMQ支持AMQP协议,兼容RabbitMQ生态简介:飞机@luotuoemo本文由(天翼云代理商:【金推云】www.jintui.cn)撰写天翼云:支持AMQP协议的RabbitMQ服务分布式消息服务RabbitMQ是一种开源的、基于Erlang语言的消息代理和队列服务器。RabbitMQ最大的特性就......
  • C#中的消息中间件(RabbitMQ 和 Redis)
    消息中间件是一种用于在分布式系统中进行异步通信的技术,常用于解耦应用程序的不同组件、实现消息传递、提高系统的可伸缩性和可靠性等。以下是关于消息中间件的知识点以及可能会在面试中被问到的一些问题和答案:消息中间件的知识点:消息队列(MessageQueue):消息中间件通常基于消......
  • 安装RabbitMQ
    安装方式安装RabbitMQ,官方提供很多种方式,具体参考地址如下https://www.rabbitmq.com/docs/download#installation-guidesRPM安装二进制下载安装源码构建安装DockerKubernetesVMware云厂商平台RPM安装TherearetwowaysofinstallingtheseRPMs:Installin......
  • 【RabbitMQ】【消息队列】基础知识整理
    在什么场景下使用RabbitMQ?开源消息队列中间件,它提供了可靠的消息传递机制,可以在分布式中进行异步通信。常见场景:异步任务处理:处理耗时任务时,可使用MQ来实现异步任务处理。     常见场景举例:新用户注册后,需要发注册邮件和注册短信,传统的做法有两种1.串行的方......
  • rabbitmq
    消息安全之durable持久化#queue持久化#消息持久化sendimportpika#1拿到链接credentials=pika.PlainCredentials("admin","admin")connection=pika.BlockingConnection(pika.ConnectionParameters(host='10.0.0.111',port=5672,credentials=......
  • RabbitMQ的部分模式
    1发布订阅模式发送者packageorg.example;importcom.alibaba.fastjson.JSON;importcom.rabbitmq.client.BuiltinExchangeType;importcom.rabbitmq.client.Channel;importcom.rabbitmq.client.Connection;importcom.rabbitmq.client.ConnectionFactory;importjava......
  • 深入了解RabbitMQ:构建高效的消息队列系统(三)
    本系列文章简介:        本系列文章将深入了解RabbitMQ的工作原理、特性和最佳实践。我们将介绍如何安装和配置RabbitMQ服务器,以及如何开发生产者和消费者应用程序。我们还将探讨如何处理消息的持久化、消息路由和消息过滤。除此之外,我们将研究如何使用RabbitMQ进行负......
  • 深入了解RabbitMQ:构建高效的消息队列系统(二)
    本系列文章简介:        本系列文章将深入了解RabbitMQ的工作原理、特性和最佳实践。我们将介绍如何安装和配置RabbitMQ服务器,以及如何开发生产者和消费者应用程序。我们还将探讨如何处理消息的持久化、消息路由和消息过滤。除此之外,我们将研究如何使用RabbitMQ进行负......
  • RabbitMQ3.x之四_RabbitMQ角色说明及创建用户与授权
    RabbitMQ3.x之四_角色说明及创建用户与授权文章目录RabbitMQ3.x之四_角色说明及创建用户与授权1.访问和授权1.Tags说明2.命令行示例2.管理界面新建用户及访问授权1.管理界面新建用户2.管理界面中的授权说明3.guest用户不能远程登录提示3.创建用户1.基本命令2......
  • 2、RabbitMQ、Erlang
    1、RabbitMQ是一个实现了高级消息队列协议(AMQP)的开源消息代理软件,也被称为面向消息的中间件。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移则是构建在开放电信平台框架上的。RabbitMQ具有以下特点:可扩展性:RabbitMQ可以通过添加更多的节点和队列来实现水平扩展,从而提高......