gpt4 book ai didi

c# - RabbitMQ 传输速率加快?

转载 作者:太空狗 更新时间:2023-10-29 20:40:17 25 4
gpt4 key购买 nike

我在寻找如何通过 RabbitMQ 加速消息传输的想法。

我在 Windows 64 位上安装了最新版本,在我的本地计算机上运行一个服务器,我也在该服务器上通过 C# 实现发布和消费。我最初达到了每秒 40,000 条消息的最大值,这令人印象深刻但不符合我的需求(我与一个自定义二进制读取器竞争,它每秒可以处理 2400 万个未解析的 16 字节大字节数组;显然我不希望接近那个但我至少尝试改进)。我需要尽快发送大约 115,000,000 条消息。我不想保留数据,连接将直接连接到一个消费者。然后,我构建了我的 16b 字节数组 block ,并在没有任何改进的情况下发布到总线上。传输速率最大为 45mb/秒。我发现这非常非常慢,因为最终它应该归结为原始传输速度,因为我可以创建几兆字节大小的字节数组,其中交换路由的效率与原始传输速度相比可以忽略不计。为什么我的消息总线最大传输速度为 45mb/秒?

最佳答案

Bump...and Update:很长时间没有看到这个问题的任何答案了。我有点惊讶没有一个 RabbitMQ 开发人员插话。我广泛使用 RabbitMQ 和 ZeroMQ。在查看高吞吐量进程内消息传递解决方案时,我认为 RabbitMQ 无法胜任这项任务。代理实现,尤其是解析逻辑是提高吞吐量的主要瓶颈。我从可能的选项列表中删除了 RabbitMQ。

有一份白皮书描述了他们如何提供一种解决方案来管理低延迟、高吞吐量选项的金融数据流,但在我看来他们所做的只是向它投入硬件,而不是提供针对低延迟、高吞吐量的解决方案吞吐量要求。

ZeroMQ,在我更深入地研究了文档之后做得非常出色。我可以在进程中运行通信,它提供足够稳定的推/拉、发布/订阅、请求/代表和我需要的配对/配对模式。我一直在寻找 ZeroMQ 不提供的发布/订阅模式中的阻塞逻辑(当超过高水位线时它会丢弃消息),但是推/拉模式提供了阻塞。所以,几乎所有我需要的都已提供。我唯一的提示是他们对事件处理的理解;通过 poll/multiplex 实现的事件结构不是很令人满意。

关于c# - RabbitMQ 传输速率加快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9569851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com