RabbitMQ - ¿Cuántas colas puede manejar RabbitMQ en un solo servidor?


Quiero saber cuántas colas máximas puede manejar RabbitMQ en un solo servidor?

¿Depende de RAM? ¿Depende de los procesos erlang?

Author: Codesleuth, 2014-04-10

2 answers

No hay límites codificados dentro de RabbitMQ broker. El broker utilizará todos los recursos disponibles (a menos que establezca límites en algunos de ellos, se llaman marcas de agua en terminología RabbitMQ).

Hay algunas limitaciones puestas por el propio Erlang, como el número máximo de procesos concurrentes, pero si teóricamente puede alcanzarlos en un solo nodo, siempre es buena idea usar características distribuidas.

Hay muchas discusiones sobre Uso y límites de recursos de RabbitMQ,

P.d. Sin embargo, hay un límite de protocolo AMQP. Se describen en la sección 4.9 Limitaciones

Las especificaciones AMQP imponen estos límites a futuras extensiones de AMQP o protocolos del mismo formato de nivel de cable:

  • Número de canales por conexión: número de canal de 16 bits.
  • Número de clases de protocolo: id de clase de 16 bits.
  • Número de métodos por clase de protocolo: id de método de 16 bits.

Las especificaciones AMQP imponen estos límites a los datos:

  • tamaño Máximo de cuerda corta: 255 octetos.
  • Tamaño máximo de una cadena larga o tabla de campos: tamaño de 32 bits.
  • Tamaño máximo de una carga útil de fotograma: tamaño de 32 bits.
  • Tamaño máximo de un contenido: tamaño de 64 bits.

El servidor o cliente también puede imponer sus propios límites a los recursos tales como número de conexiones simultáneas, número de consumidores por canal, número de colas, etc. Esto no afecta a la interoperabilidad y no se especifican.

 34
Author: pinepain,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:32:33

Este post puede ayudarte:

Http://rabbitmq.1065348.n5.nabble.com/Max-messages-allowed-in-a-queue-in-RabbitMQ-td26063.html

EDITAR

1) ¿Se permiten colas máximas en RabbitMQ?

Miles (o incluso decenas de miles) de colas no deberían ser un problema en absoluto, aunque cada objeto (por ejemplo, colas, intercambios, enlaces, etc) ocupará algo de memoria y / o espacio en disco. Por defecto, Erlang lo hará aplicar un número máximo de procesos (es decir, peso ligero hilos) alrededor de 32768 IIRC. Cada cola es administrada por su propia proceso y cada conexión puede resultar en varios más, así que si planificación de tener un gran número de colas activas en una sola nodo (?) y usándolos todos al mismo tiempo, entonces es posible que necesite ajustar los argumentos del emulador rabbit pasa la máquina virtual estableciendo +P a un límite superior.

También es probable que use muchos Gb solo con la sobrecarga para cada uno cola / conexión bastante rápido, así que vas a necesitar un servidor para manejar millones de ambos. Decenas de miles deben ser no problema en absoluto, siempre que quepan en RAM.

 19
Author: Gabriele,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-10 15:11:48