桂林视频网站制作,人力社保网站建设的意义,网站推广营销方案,程序员的就业前景RabbitMQ3.13.x之六_RabbitMQ使用场景 文章目录 RabbitMQ3.13.x之六_RabbitMQ使用场景1. 为什么选择 RabbitMQ#xff1f;1. 可互操作2. 灵活3. 可靠 2. 常见用户案例1. 服务解耦2. 远程过程调用3. 流处理4. 物联网 1. 为什么选择 RabbitMQ#xff1f; RabbitMQ 是一个可靠且…RabbitMQ3.13.x之六_RabbitMQ使用场景 文章目录 RabbitMQ3.13.x之六_RabbitMQ使用场景1. 为什么选择 RabbitMQ1. 可互操作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 非常适合数百万个并发连接。