Эта страница представляет собой основной интерфейс RabbitMQ с шестью вкладками:
Обзор MQ, включая информацию о каждом узле в кластере и информацию о сопоставлении портов.
И производителям, и потребителям необходимо установить соединение с RabbitMQ, прежде чем они смогут завершить создание и потребление сообщений. Вы можете проверить статус соединения здесь.
Канал, после установления соединения будет сформирован канал, от которого зависит доставка сообщений.
Коммутатор, используемый для реализации маршрутизации сообщений.
Очередь, то есть очередь сообщений, сообщения хранятся в очереди, ждут потребления и удаляются из очереди после потребления.
Управляйте пользователями.
Субмодули каждого модуля будут подробно представлены ниже. Подробнее о промежуточном программном обеспечении для сообщений RabbitMQ Серия обучающих статей,Видеть:Промежуточное программное обеспечение сообщений RabbitMQ, эта серия постоянно обновляется.
Элемент Nodes показывает служебный узел RabbitMQ. В настоящее время существует один локальный узел, но может быть несколько служебных узлов (например, в кластере).
Здесь есть три порта, из которых 5672 — порт протокола amqp, 15672 — порт инструмента управления RabbitMQ (это то, чем мы сейчас работаем) и 25672 — порт кластера.
Если наша текущая Java-программа хочет взаимодействовать с RabbitMQ, с каким портом ей нужно взаимодействовать? Это 5672. Поскольку клиенту Java необходимо взаимодействовать со службой RabbitMQ и следовать протоколу amqp, используется порт 5672.
А 15672 — это порт инструмента управления RabbitMQ. Он не имеет ничего общего с сервисом, а просто порт, на котором работает инструмент управления.
Опция «Теги» выше фактически определяет роль пользователя. Доступны следующие параметры:
Вы можете войти в консоль управления, просмотреть всю информацию и управлять пользователями и политиками.
Вы можете войти в консоль управления и просмотреть соответствующую информацию об узле RabbitMQ (количество процессов, использование памяти, использование диска и т. д.).
Вы можете войти в консоль управления и управлять политикой. Но соответствующую информацию об узле просмотреть невозможно (часть, отмеченная красным прямоугольником на рисунке выше).
Вы можете войти только в консоль управления и не можете просматривать информацию об узлах или управлять политиками.
Невозможно войти в консоль управления, как правило, рядовым производителям и потребителям.
Чтобы каждый пользователь мог работать, не мешая друг другу, в RabbitMQ добавлено понятие виртуальных хостов (Virtual Hosts). По сути, это независимый путь доступа. Разные пользователи используют разные пути, каждый имеет свою очередь и коммутатор и не влияет друг на друга.
После создания виртуального хоста нам также необходимо добавить пользователю права доступа. Нажмите на добавленный виртуальный хост:
Войдите в интерфейс настройки виртуального хоста и установите разрешения для пользователя.
Здесь вы можете увидеть информацию о подключении клиента к сервису RabbitMQ. Клиентского подключения пока нет, поэтому выше не отображается информация о подключении.
Здесь вы можете увидеть информацию о подключении клиента к каналу RabbitMQ. Каналы строятся на связях, а раз связей сейчас нет, то и каналов нет.
Channel #Название канала.
User name #Используйте имя пользователя для входа на этот канал.
Model #Режим подтверждения канала, C выражать confirm;T выражатьдела。
State #Текущий статус канала, работает выражать Бег;idle выражатьпраздный。
Unconfirmed #Общее количество сообщений, подлежащих подтверждению.
Prefetch #Prefetch выражать Макс. на потребителяизможет выдержатьиз Количество неподтвержденных сообщений,Проще говоря, он используется для указания того, что потребитель может получить доступ из RabbitMQ Сколько сообщений получено и кэшировано в потребителе. Когда буфер потребителя заполнен, RabbitMQ. Прекратит доставлять новые сообщения потребителю до тех пор, пока он не отправит сообщение. ack . Вообще говоря, потребитель несет ответственность за постоянную обработку сообщений и постоянное ок, тогда просто unAcked меньше, чем prefetch * consumer Число, RabbitMQ Просто продолжайте отправлять сообщения.
Unacker #обращаться ack из Общее количество сообщений.
publish #Скорость, с которой производитель сообщений отправляет сообщения.
confirm #Производитель сообщения подтверждает частоту сообщений.
unroutable (drop) #выражатьне получен,И ужеудалить Понятноизинформация。
deliver/get #Скорость, с которой потребитель сообщения получает сообщения.
ack #messageconsumer ack Скорость сообщения.
Параметр «Обмены» содержит информацию о коммутаторах, и переключатели можно добавить, выбрав «Добавить новый обмен».
Name #exchangeизназвание
Type #exchangeиз тип, необязательное значение дляdirect, headers, topic, fanout
Durability #Требуется ли настойчивость, Прочныйвыражать Стойкость,То есть обмен не будет очищен после перезапуска RabbitMQ.,все еще существует
Auto Delete #Если удалять автоматически, по умолчанию — «Нет». Условием срабатывания автоматического удаления является: когда привязать киз Когда все очереди и обмены на бирже были отвязаны, RabbitMQ автоматически удаляет обмен.
Internal #Независимо от того, используется ли дляrabbitmq для внутренних целей, значение по умолчанию — NO. Если это так, клиент не может напрямую доставлять сообщения на этот обмен. RabbitMQ может доставлять сообщения только на этот обмен, который обычно используется для привязки обмена к обмену.
Arguments Параметры опции #другой, Обычно устанавливается для[], нет необходимости.
Параметр «Очереди» содержит информацию об очереди, и очереди можно добавить, нажав «Добавить новую очередь».
Name #queueизназвание
Durability #Прочныйвыражать Стойкость,То есть после перезапуска RabbitMQ,Очередь не будет очищена,резервная очередь
Auto delete#Удалять ли автоматически, по умолчанию — НЕТ. Условие срабатывания автоматического удаления: когда все потребляющие клиенты отключены, очередь сообщений будет удалена.
Arguments Параметры опции #другой, такие как TTL, Авто срок действия и т. д., в этой опции есть выбор параметров.
Затем я создаю очередь сообщений с именем myqueue. После завершения создания она появится в таблице очередей.
После создания обмена и очереди нам также необходимо привязать очередь к обмену. Затем я привяжу созданную выше myqueue к обмену. На странице очередей щелкните очередь, которую нам нужно привязать, войдите на страницу сведений и заполните имя обмена и ключ маршрутизации в поле «Добавить привязку к этой очереди». Затем вы можете увидеть информацию о привязке в привязках соответствующей страницы сведений об обмене.
Подробнее о промежуточном программном обеспечении для сообщений RabbitMQ Серия обучающих статей,Видеть:Промежуточное программное обеспечение сообщений RabbitMQ, эта серия постоянно обновляется.
Стратегия маршрутизации DirectExchange заключается в привязке очереди сообщений к DirectExchange. Когда сообщение поступает в DirectExchange, оно будет перенаправлено в очередь с тем же ключом маршрутизации, что и сообщение. Например, имя очереди сообщений — «queue.test». ", а ключ маршрутизации: Сообщение "queue.test" будет получено очередью сообщений.
Нажмите на переключатель, чтобы привязать:
Нажмите переключатель, чтобы отправить сообщение: здесь я отправил два
Запущен успешно:
Нажмите на сообщение в очереди;
Стратегия обмена данными FanoutExchange заключается в пересылке всех сообщений, поступающих в FanoutExchange, во все связанные с ним очереди. В этой стратегии ключ маршрутизации не будет иметь никакого эффекта;
Создайте новую очередь:
Создайте новый переключатель:
Коммутатор привязан к каждой очереди:
Затем отправьте на этот коммутатор два сообщения: мы видим, что каждая очередь получает по два сообщения;
TopicExchange — это более сложная, но также гибкая стратегия маршрутизации. В TopicExchange очередь привязана к TopicExchange через ключ маршрутизации. Когда сообщение достигает TopicExchange, TopicExchange направляет сообщение в одну или несколько очередей в соответствии с ключом маршрутизации сообщения; * (звездочка) может. заменить одно слово, # (знак решетки) может заменить ноль или более слов.
Сначала создайте TopicExchange с теми же параметрами, что и раньше. Затем создайте три очереди: первая очередь используется для хранения сообщений, относящихся к «xiaomi», вторая очередь используется для хранения сообщений, относящихся к «huawei», а третья очередь используется для хранения сообщений, относящихся к «телефону».
Привяжите три очереди к TopicExchange соответственно. «xiaomi.#» в первой привязке указывает ключ маршрутизации сообщения. Все, что начинается с «xiaomi», будет перенаправлено в очередь с именем «xiaomi». Вторая «huawei.#» в. каждая привязка указывает ключ маршрутизации сообщения. Все, что начинается с «huawei», будет направляться в очередь с именем «huawei». Третья привязка. Символ «#.phone.#» в сообщении означает, что любое сообщение, ключ маршрутизации которого содержит «телефон», будет направлено в очередь с именем «телефон».
Первое сообщение будет перенаправлено в очередь с именем «xiaomi», второе сообщение будет перенаправлено в очередь с именем «huawei», а третье сообщение будет перенаправлено в очередь с именем «xiaomi» и очередь с именем «huawei». В очереди «телефон» четвертое сообщение будет перенаправлено в очередь с именем «huawei» и очередь с именем «телефон», а последнее сообщение будет перенаправлено в очередь с именем «телефон».
Подробнее о промежуточном программном обеспечении для сообщений RabbitMQ Серия обучающих статей,Видеть:Промежуточное программное обеспечение сообщений RabbitMQ, эта серия постоянно обновляется.
Справочная статья: https://blog.csdn.net/qq_42697508/article. /details/123662240 https://blog.csdn.net/wuzj1314/ article/details/131415670