Серия промежуточного программного обеспечения для сообщений жесткого объема (4): Подробное объяснение интерфейса управления RabbitMQ.
Серия промежуточного программного обеспечения для сообщений жесткого объема (4): Подробное объяснение интерфейса управления RabbitMQ.

Обзор интерфейса управления

Эта страница представляет собой основной интерфейс RabbitMQ с шестью вкладками:

Overview

Обзор MQ, включая информацию о каждом узле в кластере и информацию о сопоставлении портов.

connections:

И производителям, и потребителям необходимо установить соединение с RabbitMQ, прежде чем они смогут завершить создание и потребление сообщений. Вы можете проверить статус соединения здесь.

channels:

Канал, после установления соединения будет сформирован канал, от которого зависит доставка сообщений.

Exchanges:

Коммутатор, используемый для реализации маршрутизации сообщений.

Queues:

Очередь, то есть очередь сообщений, сообщения хранятся в очереди, ждут потребления и удаляются из очереди после потребления.

Admin:

Управляйте пользователями.

Субмодули каждого модуля будут подробно представлены ниже. Подробнее о промежуточном программном обеспечении для сообщений RabbitMQ Серия обучающих статей,Видеть:Промежуточное программное обеспечение сообщений RabbitMQ, эта серия постоянно обновляется.

Обзорный модуль

Узел сервисного узла

Элемент Nodes показывает служебный узел RabbitMQ. В настоящее время существует один локальный узел, но может быть несколько служебных узлов (например, в кластере).

портспорт

Здесь есть три порта, из которых 5672 — порт протокола amqp, 15672 — порт инструмента управления RabbitMQ (это то, чем мы сейчас работаем) и 25672 — порт кластера.

Если наша текущая Java-программа хочет взаимодействовать с RabbitMQ, с каким портом ей нужно взаимодействовать? Это 5672. Поскольку клиенту Java необходимо взаимодействовать со службой RabbitMQ и следовать протоколу amqp, используется порт 5672.

А 15672 — это порт инструмента управления RabbitMQ. Он не имеет ничего общего с сервисом, а просто порт, на котором работает инструмент управления.

Определения экспорта и определения импорта
  • Определения экспорта экспортируют базовую информацию RabbitMQ.
  • Определения импорта — это основная информация для импорта RabbitMQ.

Административный модуль

Добавить пользователя

Опция «Теги» выше фактически определяет роль пользователя. Доступны следующие параметры:

суперадминистратор (администратор)

Вы можете войти в консоль управления, просмотреть всю информацию и управлять пользователями и политиками.

мониторинг

Вы можете войти в консоль управления и просмотреть соответствующую информацию об узле RabbitMQ (количество процессов, использование памяти, использование диска и т. д.).

политик

Вы можете войти в консоль управления и управлять политикой. Но соответствующую информацию об узле просмотреть невозможно (часть, отмеченная красным прямоугольником на рисунке выше).

Рядовые менеджеры (менеджмент)

Вы можете войти только в консоль управления и не можете просматривать информацию об узлах или управлять политиками.

другой

Невозможно войти в консоль управления, как правило, рядовым производителям и потребителям.

Создание виртуальных машин Виртуальные хосты

Чтобы каждый пользователь мог работать, не мешая друг другу, в RabbitMQ добавлено понятие виртуальных хостов (Virtual Hosts). По сути, это независимый путь доступа. Разные пользователи используют разные пути, каждый имеет свою очередь и коммутатор и не влияет друг на друга.

После создания виртуального хоста нам также необходимо добавить пользователю права доступа. Нажмите на добавленный виртуальный хост:

Войдите в интерфейс настройки виртуального хоста и установите разрешения для пользователя.

Соединения

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

Каналы

Здесь вы можете увидеть информацию о подключении клиента к каналу RabbitMQ. Каналы строятся на связях, а раз связей сейчас нет, то и каналов нет.

Язык кода:javascript
копировать
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 Скорость сообщения.

Обмены

Параметр «Обмены» содержит информацию о коммутаторах, и переключатели можно добавить, выбрав «Добавить новый обмен».

Добавьте описание атрибута обмена:
Язык кода:javascript
копировать
Name  #exchangeизназвание
Type  #exchangeиз тип, необязательное значение дляdirect, headers, topic, fanout
Durability  #Требуется ли настойчивость, Прочныйвыражать Стойкость,То есть обмен не будет очищен после перезапуска RabbitMQ.,все еще существует
Auto Delete  #Если удалять автоматически, по умолчанию — «Нет». Условием срабатывания автоматического удаления является: когда привязать киз Когда все очереди и обмены на бирже были отвязаны, RabbitMQ автоматически удаляет обмен.
Internal #Независимо от того, используется ли дляrabbitmq для внутренних целей, значение по умолчанию — NO. Если это так, клиент не может напрямую доставлять сообщения на этот обмен. RabbitMQ может доставлять сообщения только на этот обмен, который обычно используется для привязки обмена к обмену.
Arguments Параметры опции #другой, Обычно устанавливается для[], нет необходимости.

Queues

Параметр «Очереди» содержит информацию об очереди, и очереди можно добавить, нажав «Добавить новую очередь».

Добавьте описание атрибута очереди:
Язык кода:javascript
копировать
Name  #queueизназвание

Durability  #Прочныйвыражать Стойкость,То есть после перезапуска RabbitMQ,Очередь не будет очищена,резервная очередь
Язык кода:javascript
копировать
Auto delete#Удалять ли автоматически, по умолчанию — НЕТ. Условие срабатывания автоматического удаления: когда все потребляющие клиенты отключены, очередь сообщений будет удалена.
  • Когда атрибут autoDelete имеет значение true,Так,Когда все получатели сообщений не работают или закрыты,Очередь сообщений будет удалена,Отправитель сообщения продолжает отправлять сообщения,Когда получатель сообщения перезапускается и возвращается в нормальное состояние,Будет получать последние новости,Во время простоя сообщения будут потеряны.
  • Если для атрибута autoDelete в Quere установлено значение false, то при сбое и завершении работы получателя сообщений очередь сообщений не будет удалена. Отправитель сообщений продолжит отправлять сообщения. Когда получатель сообщений перезапустится и вернется в нормальное состояние, он получит их. сообщения, включая сообщения во время простоя.
Язык кода:javascript
копировать
Arguments  Параметры опции #другой, такие как TTL, Авто срок действия и т. д., в этой опции есть выбор параметров.

Затем я создаю очередь сообщений с именем myqueue. После завершения создания она появится в таблице очередей.

После создания обмена и очереди нам также необходимо привязать очередь к обмену. Затем я привяжу созданную выше myqueue к обмену. На странице очередей щелкните очередь, которую нам нужно привязать, войдите на страницу сведений и заполните имя обмена и ключ маршрутизации в поле «Добавить привязку к этой очереди». Затем вы можете увидеть информацию о привязке в привязках соответствующей страницы сведений об обмене.

Подробнее о промежуточном программном обеспечении для сообщений RabbitMQ Серия обучающих статей,Видеть:Промежуточное программное обеспечение сообщений RabbitMQ, эта серия постоянно обновляется.

Фактическая операция отправки сообщений о потреблении

Direct

Стратегия маршрутизации DirectExchange заключается в привязке очереди сообщений к DirectExchange. Когда сообщение поступает в DirectExchange, оно будет перенаправлено в очередь с тем же ключом маршрутизации, что и сообщение. Например, имя очереди сообщений — «queue.test». ", а ключ маршрутизации: Сообщение "queue.test" будет получено очередью сообщений.

Создайте новый прямой переключатель:
Создать новую обычную очередь
Установите связь между коммутатором и очередью.

Нажмите на переключатель, чтобы привязать:

Нажмите переключатель, чтобы отправить сообщение: здесь я отправил два

Запущен успешно:

Нажмите на сообщение в очереди;

Fanout

Стратегия обмена данными FanoutExchange заключается в пересылке всех сообщений, поступающих в FanoutExchange, во все связанные с ним очереди. В этой стратегии ключ маршрутизации не будет иметь никакого эффекта;

Создайте новую очередь:

Создайте новый переключатель:

Коммутатор привязан к каждой очереди:

Затем отправьте на этот коммутатор два сообщения: мы видим, что каждая очередь получает по два сообщения;

Topic

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

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода