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