本文介绍了RabbitMQ - RabbitMQ 可以在单个服务器上处理多少个队列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

RabbitMQ 可以在单个服务器上处理的最大队列数是多少?

What's the maximum number of queues that RabbitMQ can handle on a single server?

它依赖于 RAM 吗?是否取决于 erlang 进程?

Does it depend on RAM? Does it depends on erlang processes?

推荐答案

RabbitMQ 代理内部没有任何硬编码限制.代理将利用所有可用资源(除非您对其中的某些资源设置限制,否则它们在 RabbitMQ 术语中称为水印).

There are not any hard-coded limits inside RabbitMQ broker. The broker will utilize all available resources (unless you set limits on some of them, they are called watermarks in RabbitMQ terminology).

Erlang 本身存在一些限制,例如最大并发进程数,但如果您理论上可以在单个节点上访问它们,那么使用 分布式功能.

There are some limitations put by Erlang itself, like maximum number of concurrent processes, but if you theoretically can reach them on single node then it is always good idea to use distributed features.

关于RabbitMQ资源使用和限制的讨论很多,

There are a lot of discussions about RabbitMQ resource usage and limits,

  • How many queues can one broker support on RabbitMQ mailing list
  • Max messages allowed in a queue in RabbitMQ? on RabbitMQ mailing list
  • Rabbitmq - Reasonable performance/scale expectations on Server Fault
  • Is there a limit to the number of exchanges for rabbitmq? on Stack Overflow

附言虽然有 AMQP 协议限制.它们在 4.9 部分中有描述限制

P.S. There are AMQP protocol limit though. They are described in section 4.9Limitations

AMQP 规范对未来的扩展施加了这些限制AMQP 或相同线级格式的协议:

  • 每个连接的通道数:16 位通道号.
  • 协议类的数量:16 位类 ID.
  • 每个协议类的方法数:16 位方法 ID.

AMQP 规范对数据施加了以下限制:

The AMQP specifications impose these limits on data:

  • 短字符串的最大大小:255 个八位字节.
  • 长字符串或字段表的最大大小:32 位大小.
  • 帧有效载荷的最大大小:32 位大小.
  • 内容的最大大小:64 位大小.

服务器或客户端也可能对资源施加自己的限制,例如作为同时连接的数量,每个消费者的数量通道、队列数等.这些不影响互操作性并且未指定.

The server or client may also impose its own limits on resources such as number of simultaneous connections, number of consumers per channel, number of queues, etc. These do not affect interoperability and are not specified.

这篇关于RabbitMQ - RabbitMQ 可以在单个服务器上处理多少个队列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-04 04:51
查看更多