跳到主要内容

仲裁队列和流量控制 - 压力测试

·23 分钟阅读
Jack Vanlightly

上一篇文章中,我们对单个队列进行了一些简单的基准测试,以了解流水线发布者确认和消费者确认对流量控制的影响。 

具体来说,我们研究了

  • 发布者:限制飞行中消息的数量(已发送但等待确认的消息)。
  • 消费者:预取(代理将在通道上允许的飞行中消息数量)
  • 消费者:确认间隔(多重标志用法)

毫不奇怪,我们看到当我们将发布者和代理限制为一次少量飞行中消息时,吞吐量很低。 当我们增加该限制时,吞吐量增加了,但仅增加到一定程度,之后我们没有看到更多的吞吐量增加,而是延迟增加。 我们还看到,允许消费者使用多重标志有利于吞吐量。

在这篇文章中,我们将研究相同的三个设置,但使用许多客户端、许多队列和不同的负载量,包括压力测试。 我们将看到发布者确认和消费者确认在流量控制中发挥作用,以帮助防止代理过载。 

仲裁队列和流量控制 - 单个队列基准测试

·13 分钟阅读
Jack Vanlightly

在上一篇文章中,我们介绍了什么是流量控制,包括作为一般概念以及 RabbitMQ 中可用的各种流量控制机制。 我们看到发布者确认和消费者确认不仅是数据安全措施,而且在流量控制中也发挥作用。 

在这篇文章中,我们将研究应用程序开发人员如何使用发布者确认和消费者确认来在安全性和高性能之间取得平衡,这都是在单个队列的上下文中进行的。 

当代理过载时,流量控制变得尤为重要。 单个队列不太可能使您的代理过载。 如果您发送大型消息,那么当然,您可以使您的网络饱和,或者如果您只有一个 CPU 核心,那么一个队列可能会使其达到最大值。 但是我们大多数人都在使用 8 核、16 核或 30+ 核的机器。 但是,分解确认和确认对单个队列的影响是很有趣的。 从那里,我们可以吸取经验,看看它们是否适用于更大的部署(下一篇文章)。

仲裁队列和流量控制 - 概念

·8 分钟阅读
Jack Vanlightly

作为仲裁队列系列的一部分,我们将了解流量控制,它如何保护 RabbitMQ 免于过载,以及这与仲裁队列有何关系。

什么是流量控制?

流量控制是一个在计算机网络和联网软件中存在了几十年的概念。 本质上,它是一种对发送者施加反压以避免接收者过载的机制。 接收者通常缓冲传入的数据包/消息,作为处理超过其处理速率的发送速率的一种方式。 但是接收者缓冲区不能永远增长,因此发送速率应该只是短暂地超过接收者处理能力(突发流量),或者必须减慢发送者的速度(反压)。

流量控制是一种对发送者施加这种反压的方式,减慢它们的速度,以便接收者的缓冲区不会溢出并且延迟不会变得太大。 在发送者/接收者链中,这种反压可以向上游传播到流量的起源。 在更复杂的连接组件图中,流量控制可以平衡快速和慢速发送者之间的传入流量,避免过载,但允许系统在不同数量的发送者、不同速率和不同负载模式(稳定或突发)的情况下实现充分利用。

仲裁队列以及磁盘为何重要

·13 分钟阅读
Jack Vanlightly

仲裁队列对于 RabbitMQ 来说仍然相对较新,许多人仍然没有从经典的镜像队列过渡过来。 在您迁移到这种新的队列类型之前,您需要确保您的硬件可以支持您的工作负载,而其中一个重要因素是您使用的存储驱动器。

在这篇博客文章中,我们将仔细研究仲裁队列及其在不同存储配置上的性能特征。

HDD 还是 SSD? 一个驱动器还是多个驱动器?

TL;DR 是我们强烈建议在使用仲裁队列时使用 SSD。 原因是仲裁队列对 IO 延迟敏感,而 SSD 提供的 IO 延迟低于 HDD。 随着 IO 延迟的增加,您将看到更低的吞吐量、更高的端到端延迟以及其他一些不良影响。

在这篇文章的后面,我们将使用各种具有不同 SSD 和 HDD 配置的基准测试来演示我们为什么推荐这样做。

RabbitMQ 获得 HA 升级

·9 分钟阅读
Jack Vanlightly

这是关于仲裁队列系列的第一部分,我们的新型复制队列类型。 我们将涵盖从什么是仲裁队列到硬件要求、从镜像队列迁移以及最佳实践的所有内容。

介绍仲裁队列

多年来,镜像队列(也称为 HA 队列)一直是为您的消息提供额外数据安全保证的事实上的选择。 仲裁队列是下一代复制队列,旨在取代镜像队列的大多数用例,并且从 3.8 版本及更高版本开始提供。

在本博客系列中,我们将介绍以下内容

RabbitMQ 本月动态:2020 年 3 月回顾

·4 分钟阅读

由于 COVID-19 病毒的不确定性,RabbitMQ 峰会团队正在取消 2020 年 6 月在柏林举行的峰会。 我们仍然希望我们可以继续推进 11 月在纽约举行的峰会的计划。 请回来查看更新。

在本月的其他贡献中,我们有关于在微服务架构中成功使用 RabbitMQ 的资源,为什么您应该在您的项目中使用 Rabbit 和 SpringBoot 进行消息传递,以及许多其他技巧和窍门。 所以潜入水中吧,水很好! 请大家注意安全。

RabbitMQ 本月动态,2020 年 2 月回顾

·5 分钟阅读

RabbitMQ 本月动态 — 2020 年 2 月回顾!

RabbitMQ 峰会 又要来了! 这次聚会将于 6 月 9 日在柏林举行,征集提案(在活动上发言)截止日期为 3 月 22 日。

在您的日历上标记出来,复习您的德语,并购买您的门票,以便下次沉浸在所有 RabbitMQ 的事物中。 我相信那里至少会有几个 RabbitMQ 影响者 :) 也将出现在那里

RabbitMQ 本月动态,2020 年 1 月回顾

·5 分钟阅读

RabbitMQ 本月动态,2020 年 1 月回顾

介绍 TGI RabbitMQ! 受 TGI Kubernetes 的启发,RabbitMQ 工程师 Gerhard Lazu 已经开始了一系列教程视频。 请在每个月底收看最新版本。 在一月份,Gerhard 介绍了 从 3.7 升级到 3.8。 星标并观看 存储库 以获取未来剧集更新。

此外,请务必查看我们发布到 Grafana 的仪表板。 这些是开始使用 3.8 中新的 Prometheus 和 Grafana 支持 的绝佳方式。

RabbitMQ 本月动态,2019 年 12 月回顾

·5 分钟阅读

RabbitMQ 本月动态 — 12 月回顾!

新年快乐! 3.8.x 已经可用三个多月了,我们看到了很多很好的应用。 这是个好消息,因为随着 功能标志 的添加,升级过程甚至更容易了。 继续升级!

CloudAMQP 博客 上,您现在可以找到所有 RabbitMQ 峰会演讲的视频文字记录。 如果您没有参加活动并想在观看完整的 30 分钟重播之前了解演讲的内容,这些内容会很有用。

例如,查看 观察和理解 RabbitMQ

我们还发布了 关于 LAIKA 的新案例研究,这家动画公司为您带来了《鬼妈妈》、《盒子怪》和《遗失的环节》。 如果您有兴趣在 rabbitmq.com 上介绍您对 RabbitMQ 的用例,请在邮件列表中留言或发送电子邮件至 info@rabbitmq.com

LAIKA 利用 RabbitMQ 的创意,作为动画公司的 IT 神经系统

·5 分钟阅读
Dormain Drewitz

LAIKA LAIKA 位于俄勒冈州波特兰市,是一家一流的定格动画公司。 LAIKA 凭借《鬼妈妈》、《通灵男孩诺曼》、《盒子怪》、《久保与二弦琴》以及最近的《遗失的环节》等获奖影片而闻名,其独特的审美观而备受赞誉。 LAIKA 制作电影的方式是高科技和模拟技术的结合。

LAIKA 的小型 IT 团队对动画业务充满热情。 “我们支持制作,制作电影。” LAIKA 的高级技术专家 Mahlon Smith 解释道。 该团队在幕后,与布景木工、画家和电影导演在一起。 “我们尽可能高效地实现制作。 节省的每一美元都可以用于屏幕。”

这种财政责任感引导团队转向可重用的技术。 尤其是在集成方面。 考虑到这种节俭,该团队早在 2009 年就开始关注 RabbitMQ。 在过去六年中使用 RabbitMQ 的经验使他们了解到如何使用灵活的消息传递骨干网解决更多问题。

© . All rights reserved.