博客 | RabbitMQ 消息队列
在上一篇文章中,我们介绍了流量控制的概念,以及 RabbitMQ 中可用的各种流量控制机制。我们看到,发布者确认和消费者确认不仅仅是数据安全措施,它们在流量控制中也起着作用。
在本文中,我们将探讨应用程序开发人员如何在单个队列的上下文中,利用发布者确认和消费者确认来平衡安全性和高性能。
当代理过载时,流量控制尤其重要。单个队列不太可能使您的代理过载。如果您发送大消息,那确实可以使您的网络饱和,或者如果您只有一个 CPU 核心,那么一个队列可能会使其达到最大利用率。但我们大多数人使用的都是 8、16 或 30+ 核心的机器。但是,分析确认和确认对单个队列的影响是很有趣的。从那里,我们可以吸取经验教训,看看它们是否适用于更大的部署(下一篇文章)。
作为我们仲裁队列系列的一部分,我们将深入探讨流量控制,了解它如何保护 RabbitMQ 免受过载影响,以及它与仲裁队列的关系。
什么是流量控制?
流量控制是一个在计算机网络和网络软件中存在了数十年的概念。本质上,它是一种机制,通过向发送方施加反压来避免接收方过载。接收方通常会将传入的数据包/消息缓冲起来,以应对发送速率超过其处理速率的情况。但接收方缓冲区不能无限增长,因此发送速率只能暂时超过接收方的处理能力(突发流量),或者必须减缓发送方的速度(反压)。
流量控制是一种对发送方施加这种反压的方法,减缓它们的发送速度,以防止接收方的缓冲区溢出并避免延迟过大。在一个发送方/接收方的链条中,这种反压可以沿着链条向上传播到流量的源头。在更复杂的连接组件图中,流量控制可以在快速和慢速发送方之间平衡传入流量,避免过载,同时允许系统在发送方数量、速率和负载模式(稳定或突发)不同时达到充分利用。
仲裁队列在 RabbitMQ 中相对较新,许多人尚未从经典镜像队列迁移到仲裁队列。在迁移到这种新队列类型之前,您需要确保您的硬件能够支持您的工作负载,而存储驱动器是其中的一个重要因素。
在这篇博文中,我们将更仔细地探讨仲裁队列及其在不同存储配置下的性能特征。
HDD 还是 SSD?一个驱动器还是多个驱动器?
简而言之,我们强烈建议在使用仲裁队列时使用 SSD。原因是仲裁队列对 IO 延迟敏感,而 SSD 提供的 IO 延迟比 HDD 低。IO 延迟较高会导致吞吐量较低、端到端延迟较高以及其他一些不良影响。
在本文的后面,我们将通过使用各种 SSD 和 HDD 配置的基准测试来演示我们推荐此建议的原因。
这是关于仲裁队列(我们新的复制队列类型)系列的第一部分。我们将涵盖从仲裁队列是什么,到硬件要求,从镜像队列迁移以及最佳实践的方方面面。
介绍仲裁队列
多年来,镜像队列(也称为高可用性队列)一直是需要为消息提供额外数据安全保证的事实上的选择。仲裁队列是下一代复制队列,旨在取代镜像队列的大多数用例,并且从 3.8 版本开始提供。
在本系列博客中,我们将涵盖以下内容
鉴于 COVID-19 病毒的不确定性,RabbitMQ Summit 团队决定取消 2020 年 6 月在柏林举行的峰会。我们仍然希望能够按计划于 11 月在纽约举行峰会。请继续关注最新消息。
在本月其他的贡献中,我们提供了一些资源,介绍如何在微服务架构中成功使用 RabbitMQ、为什么要在项目中使用 Rabbit 和 SpringBoot 进行消息传递,以及许多其他技巧。快来深入了解吧!也请大家注意安全。
RabbitMQ 本月动态 — 2020 年 2 月回顾!
RabbitMQ Summit 又来了!这次,活动将于 6 月 9 日在柏林举行,而(在活动中发表演讲的)征稿启事 将于 3 月 22 日截止。
在日历上标记好日期,温习一下德语,然后购买门票,抓住这次深入了解 RabbitMQ 一切的机会。我相信届时也会有几位 RabbitMQ 领域有影响力的人物 在场 :)
RabbitMQ 本月动态 — 12 月回顾!
新年快乐!3.8.x 版本已经发布三个多月了,我们看到了很多用户的使用。这是个好消息,因为通过添加 功能标志,升级过程变得更加容易。请继续升级!
在 CloudAMQP 博客 上,您现在可以找到所有 RabbitMQ Summit 演讲的视频文字记录。如果您未能参加活动,想在观看完整的 30 分钟回放之前了解演讲内容,这些文字记录会很有用。
例如,请看 观察和理解 RabbitMQ。
我们还发布了关于 LAIKA 的新案例研究,这家动画公司带来了《鬼妈妈》、《怪兽电力公司》和《消失的链接》。如果您有兴趣在 rabbitmq.com 上展示您的 RabbitMQ 用例,请在邮件列表中留言或发送邮件至 info@rabbitmq.com。
LAIKA 是一家位于俄勒冈州波特兰的顶级定格动画公司。凭借《鬼妈妈》、《怪诞小镇》、《帕拉诺曼》、《魔弦传说》和最近的《遗失的环节》等获奖影片,LAIKA 以其独特的审美而闻名。LAIKA 制作电影的方式融合了高科技与传统工艺。
LAIKA 精干的 IT 团队对动画业务充满热情。“我们支持制作,就是制作电影。”LAIKA 高级技术专家 Mahlon Smith 解释道。团队成员在幕后工作,与布景木匠、油漆工和电影导演们一起。“我们尽可能高效地支持制作。节省下来的每一美元都可以投入到银幕上。”
这种财政责任感促使团队倾向于使用可重用技术。尤其是在集成方面。怀揣着这种节俭精神,团队早在 2009 年就开始关注 RabbitMQ。在过去六年的使用过程中,他们学会了如何通过灵活的消息传递骨干解决更多问题。
上个月对于 RabbitMQ 社区来说是意义重大的一月,因为 RabbitMQ Summit 在伦敦举行!如果您错过了这次活动,或者参加了但错过了其他会场的演讲,所有录音现已提供。另外,请务必查看我们的概述博客,其中包含对 RabbitMQ 3.8 新增功能的易于理解的总结。
RabbitMQ 核心团队成员 Gerhard Lazu 将在即将举行的网络研讨会中介绍更多 3.8 的新功能和经验教训。请于 12 月 12 日收听!
© .
This site is unofficial and not affiliated with VMware.