Configuration RabbitMQ

Limites

Il n’y a pas de limite au nombre de connexions. Les limitation viennent du système avec le nombre de fichiers ouverts et la mémoire.

La principale limitation logicielle par RabbitMQ concerne le nombre de canaux par connexion. En effet, avec AMQP 0.9, on multiplexe les connexions grâce aux canaux.

Par défaut, la valeur maximale est de 2047. Elle est négociée à chaque connexion entre le client et le serveur, pour prendre la limitation la plus basse des deux. Il faut donc la configurer coté RabbitMQ et coté client.

Dans mes essais en local, il y a aussi une limite système de l’ordre 30000 à 35000.

RabbitMQ

# /etc/rabbitmq/conf.d/30-limit.conf
channel_max = 4000

Java

Lorsqu’on utilise directement le client Java, on fixe la limite sur la fabrique de connexion.

ConnectionFactory cf = new ConnectionFactory();
cf.setRequestedChannelMax(4000);

Lorsqu’on utilise Spring Boot, ça se fait par la propriété spring.rabbitmq.requested_channel_max.

spring:
  rabbitmq:
    host: rabbit.jtips.info
    port: 5672
    username: jtips
    password: jtips-pwd
    requested_channel_max: 4000

Références