Связующий ключ или ключ маршрутизации - PullRequest
0 голосов
/ 24 мая 2018

У меня есть небольшое сомнение относительно ключа маршрутизации и ключа привязки в RabbitMQ.Я понял, что производитель отправляет сообщение на обмен с «ключом маршрутизации».Очередь связана с обменом ключом привязки.В случае обмена по умолчанию я натолкнулся на определение типа: «Каждая очередь автоматически связывается с Exchange по умолчанию с помощью ключа маршрутизации, совпадающего с именем очереди».

Так что здесь должно быть «связывание»ключ "вместо ключа маршрутизации ??Или условия почти одинаковы?

Каждая очередь связана с обменом по умолчанию с ключом привязки, равным значению имени очереди, внутренне это так -

channel.queueBind(queueName, "", queueName);

Это правильно??Каждая очередь связана с обменом по умолчанию с ключом привязки, совпадающим с именем очереди.Поскольку обмен по умолчанию является ничем иным, как прямым обменом без имени, он сопоставит ключ маршрутизации с ключом привязки очереди и направит его, если они равны. Я правильно понял?Два термина «связующий ключ» и «ключ маршрутизации» используются немного запутанно.

1 Ответ

0 голосов
/ 09 января 2019

Ключ привязки используется с очередью.Это ключ, с помощью которого очередь регистрируется в обмене.

Ключ маршрутизации используется с сообщением.Это ключ, который решает, в какую очередь (и) следует направить это сообщение.Сообщения могут иметь другие типы идентификаторов для маршрутизации, такие как совпадения в Topic Exchange.

Каждая очередь автоматически привязывается к обмену по умолчанию с помощью ключа маршрутизации, совпадающего с именем очереди.

Теперь ключ маршрутизации и ключ привязкиэто не та же концепция.Но здесь, в случае Exchange по умолчанию, ключ привязки будет таким же, как и имя очереди.Таким образом, сообщения также будут иметь тот же ключ маршрутизации, что и имя очереди.

Итак,

channel.queueBind (queueName, "", queueName);

- это не совсем то, что нужно делать.Однако это зависит от типа обмена, как очередь будет привязана к обмену.В случае обмена по умолчанию он связывается с именем очереди, поэтому это будет сделано RabbitMQ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...