RabbitMQ learning-el octavo capítulo RabbitMQ tres comparación de rendimiento del modo de intercambio

En RabbitMQ, todos los mensajes enviados por los productores son aceptados por Exchange, y luego Exchange se reenvía a la cola para su almacenamiento de acuerdo con una estrategia específica.

RabbitMQ proporciona cuatro tipos de intercambio: fanout, directo, tema y encabezado.

El modo de encabezado se usa menos, este artículo solo compara los primeros tres modos.

Clasificación de rendimiento : fanout> directo> tema. La relación es aproximadamente 11: 10: 6

1. Intercambio directo

Inserte la descripción de la imagen aquí

Cualquier mensaje enviado a Direct Exchange se reenviará a la Cola especificada en RouteKey.

1. En general, puede usar el Exchange que viene con rabbitMQ: "" (el nombre del Exchange es una cadena vacía, en lo sucesivo, Exchange predeterminado).

2. En este modo, no es necesario realizar ninguna operación de enlace en Exchange.

3. Se requiere una "Ruta clave" para la entrega del mensaje, que puede entenderse simplemente como el nombre de la cola a la que se enviará.

4. Si el nombre de la cola especificado en RouteKey no existe en vhost, el mensaje será descartado.

二 .Fanout Exchange

Inserte la descripción de la imagen aquí

Cualquier mensaje enviado a Fanout Exchange se reenviará a todas las colas vinculadas al intercambio.

1. Puede entenderse como el modo de tabla de enrutamiento

2. Este modo no requiere RouteKey

3. Este modelo requiere un intercambio y una cola vinculantes de antemano: un intercambio puede vincularse a múltiples colas y una cola puede vincularse a múltiples intercambios.

4. Si el intercambio que recibió el mensaje no está vinculado a ninguna cola, el mensaje será descartado.

三 .Topic Exchange

Inserte la descripción de la imagen aquí

Cualquier mensaje enviado a Topic Exchange se reenviará a todas las colas que se preocupan por el tema especificado en RouteKey

1. Este modelo es más complicado. En términos simples, cada cola tiene su tema de interés. Todos los mensajes tienen un "título" (RouteKey). Exchange reenviará el mensaje a todos los temas en cuestión. Puede borrarse con RouteKey. Cola a juego.

2. Este modo requiere RouteKey, y tal vez necesite vincular Exchange y Queue por adelantado.

3. Al vincular, proporcione un tema que le interese a la cola, como "# .log. #" Significa que la cola se preocupa por todos los mensajes relacionados con el registro (se reenviará un mensaje con RouteKey "MQ.log.error" A la cola).

4. "#" significa 0 o varias palabras clave, "*
" significa una palabra clave. Por ejemplo, "log. *" Puede coincidir con "log.warn", pero no "log.warn.timeout"; pero "log. #" Puede coincidir con ambos.

"rn" coincide y no puede coincidir con "log.warn.timeout"; pero "log. #" puede coincidir con ambos.

5. Del mismo modo, si Exchange no encuentra una cola que coincida con RouteKey, descartará este mensaje.

Publicó 40 artículos originales · 25 alabanzas · 100,000+ vistas

Supongo que te gusta

Origin blog.csdn.net/yym373872996/article/details/105653727
Recomendado
Clasificación