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

问题描述

我想知道RabbitMQ在单个服务器上可以处理多少个最大队列?

I want to know how many maximum queues 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

P.S.虽然有AMQP协议限制.它们在 4.9中进行了描述.局限性

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

  • 每个连接的通道数:16位通道号.
  • 协议类别数量:16位类别ID.
  • 每个协议类的方法数:16位方法ID.
  • Number of channels per connection: 16-bit channel number.
  • Number of protocol classes: 16-bit class id.
  • Number of methods per protocol class: 16-bit method id.

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

The AMQP specifications impose these limits on data:

  • 短字符串的最大大小:255个八位字节.
  • 长字符串或字段表的最大大小:32位大小.
  • 帧有效载荷的最大大小:32位大小.
  • 内容的最大大小:64位大小.
  • Maximum size of a short string: 255 octets.
  • Maximum size of a long string or field table: 32-bit size.
  • Maximum size of a frame payload: 32-bit size.
  • Maximum size of a content: 64-bit size.

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

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
查看更多