RabbitMQ de conexión y el canal

Sabemos que los productores y consumidores, tenemos que establecer una conexión y RabbitMQ Broker, esta conexión es una conexión TCP, que es la conexión.

Una vez que se establece una conexión TCP, el cliente puede crear inmediatamente un canal AMQP (Canal), cada canal se le asignará un identificador único.

Conexión de canal se basa en la conexión virtual, cada instrucción de proceso RabbitMQ AMQP se logra por canal.

 

Podemos utilizar el canal de conexión será capaz de completar el trabajo, ¿por qué la introducción de canal de él?

Imagine un escenario en el que una aplicación tiene muchos hilos necesitan consumir mensajes de RabbitMQ, o en la producción de noticias, entonces la inevitable necesidad de establecer un número de conexión, es decir, múltiples conexiones TCP.

Sin embargo, para el sistema operativo, conexión TCP se crea y se destruye por encima muy caro, si utilizan a los cuellos de botella de rendimiento máximo también aparecerá.

RabbitMQ NIO similar (sin bloqueo de E / S) esta conexión TCP seleccionado multiplexación, no sólo puede reducir el rendimiento de arriba, pero también es fácil de manejar.

 

Cada agarre un canal de hilo, el canal de multiplexación de conexión de conexión TCP. Mientras tanto RabbitMQ puede garantizar la privacidad de cada hilo, así como conectado como independiente. Cuando el caudal de cada canal no es muy grande, el complejo puede efectivamente Guardar recursos en el caso de las conexiones TCP crear un cuello de botella de una sola conexión. Sin embargo, cuando el canal de flujo en sí es grande, esta vez con una pluralidad de canales de conexión multiplexados va a crear un cuello de botella, y por lo tanto la velocidad de flujo en general es limitado. En este caso, es necesario abrir una pluralidad de conexión, estos canales se distribuyen uniformemente entre éstos conexión, tal como se requiere estos ajustes de sintonización relacionada de acuerdo con la política de servicio a su situación real.

 

Canal es un concepto muy importante en AMQP, la mayoría de las operaciones se implementan en este nivel del canal.

比如 channel.exchangeDeclare, channel.queueDeclare, channel.basicPublish, channel.basicConsume 等 方法.

RabbitMQ AMQP relaciona estrechamente con la API, como correspondiente a la orden AMQP Basic.Publish channel.basicPublish.

Supongo que te gusta

Origin www.cnblogs.com/yunianzeng/p/12483706.html
Recomendado
Clasificación