Проще говоря, трассировка сообщений — это журнал, в котором записываются все журналы доступа и операций, такие как создание, хранение и потребление сообщений.
Преимущества и недостатки трассировки сообщений RocketMQ:
Преимущества:
Мониторинг в реальном времени: трассировка сообщений может записывать ключевые события, такие как отправка и потребление сообщений, в режиме реального времени, обеспечивая возможности мониторинга и отслеживания в реальном времени, чтобы облегчить работу персонала по эксплуатации и техническому обслуживанию для устранения неполадок и оптимизации производительности.
Местоположение неисправности. С помощью трассировки сообщений можно точно определить местоположение сообщения во всей системе очереди сообщений, что помогает быстро обнаружить точку неисправности и повысить эффективность устранения неполадок.
Бизнес-анализ. Трассировки сообщений могут предоставить подробную информацию о потоке сообщений, которая поможет бизнес-персоналу проводить анализ данных и бизнес-мониторинг, а также понимать обработку сообщений и задержки.
Недостатки:
Накладные расходы на хранение. Трассировки сообщений должны записывать большой объем информации о потоке сообщений, что увеличивает накладные расходы на хранение. Для крупномасштабных систем обмена сообщениями могут потребоваться дополнительные ресурсы хранения для поддержки функции отслеживания сообщений.
Сетевые издержки: трассировка сообщений должна отправлять информацию о потоке сообщений в систему мониторинга или систему хранения, что увеличивает сетевые издержки. Для систем обмена сообщениями с высокой степенью параллелизма пропускная способность и производительность сети могут в определенной степени пострадать.
enable-msg-trace: true
@Test void sendTraceMsg() { /** * Отправить сообщение синхронизации * destination тема назначения * payload информация */ rocketMQTemplate.syncSend("traceTopicTest","траекторияинформация"); }
Запрос информации о панели MQ
24098A55348F66E0F191D52199A60918544063947C6B8FF3FF1D0000
Открыть информационную дорожку,Добавить накладные расходы,ухудшение производительности
@Component @RocketMQMessageListener(topic = "traceTopicTest", consumerGroup = "traceConsumerGroup-springboot", enableMsgTrace = true //Включаем информационный трек, что увеличивает накладные расходы и снижает производительность. ) public class traceMQListener implements RocketMQListener<MessageExt> { /** * onMessage потребительметод * @param messages информациясодержание */ @Override public void onMessage(MessageExt messages) { //Если вы не сообщаете об ошибке, вы подписываете информацию. //Сообщение об ошибке означает повторную попытку. Если сообщение об ошибке все еще сообщается после трех повторных попыток, это означает, что потребление не удалось и оно будет повторно введено в очередь. (согласно конфигурации yml) System.out.println("полученныйинформация:"+new String(messages.getBody())); } }
RocketMQ поддерживает доступ через контроль разрешений ACL (список управления доступом) для защиты безопасности очереди информации.
aclEnable=true
vim plain_acl.yml
Для включения управления разрешениями пользователей ACL требуется перезапуск mqnamesrv.
yml настроить имя пользователя и пароль для подключения к RocketMQ
producer: #имя пользователя+пароль access-key: rocketmq2 secret-key: 12345678
yml настроить имя пользователя и пароль для подключения к RocketMQ
consumer: #имя пользователя+пароль access-key: rocketmq2 secret-key: 12345678
информация МодельMessage Model
RocketMQ В основном состоит из Producer、Broker、Consumer Он состоит из трех частей, в том числе Producer Ответственный за производственную информацию, Потребитель Ответственный за информацию о потреблении, Брокер Ответственный за хранение информации. Маклер В реальном процессе развертывания, соответствующем одному серверу, каждый Broker Может хранить несколько Topic информация, каждая тема Информация также может быть сегментирована и сохранена в разных Broker。Message Queue Физический адрес, используемый для хранения информации, каждый Topic Адреса в информации хранятся в нескольких Message Queue середина. Потребительская группа несколькими Consumer Состав экземпляра.
информацияпродюсерProducer
Ответственный за производствоинформация,Как правило, за производство информации отвечает бизнес-система. Информопродюсер отправит информацию, сгенерированную в системе бизнес-приложений, broker сервер. РакетаMQ Предоставляет несколько методов отправки: синхронную отправку, асинхронную отправку, последовательную отправку и одностороннюю отправку. Требуется как для синхронных, так и для асинхронных методов. Broker Информация о подтверждении возврата, не требуется для односторонней отправки.
информацияпотребительConsumer
Ответственный за потребление информации. Обычно за асинхронное потребление отвечает серверная система. Информационный потребитель поступит от Broker Информация о получении сервера, и предоставить его приложению. С точки зрения пользовательских приложений предусмотрены две формы потребления: потребление по запросу.、Подтолкните потребление.
Тема
Представляет собой набор информации,Каждая тема содержит несколько сведений.,Каждая информация может относиться только к одной теме.,Это RocketMQ Базовый модуль для оформления информационных подписок.
Брокерский сервер
информация о транзитной роли,Отвечает за хранение и передачу информации. Прокси-сервер в системе RocketMQ отвечает за получение и хранение информации, отправленной от производителя, и подготовку к запросу потребителя. Прокси-серверы также хранят метаданные, связанные с информацией.,Включая группу потребителей, смещение прогресса потребления, информацию о теме и очереди и т. д.
Сервер имен Сервер имен
Служба имен действует как маршрутинформацияпоставщик。продюсерилипотребитель Возможность найти соответствующие темы для каждой темы через службу имен.Broker IP список. несколько Namesrv Экземпляры образуют кластер, но независимы друг от друга и не обмениваются информацией.