Файлы очередей IBM MQ, пролонгирующие политику - PullRequest
0 голосов
/ 13 января 2020

Мы используем IBM MQ, и недавно мы столкнулись с проблемой, когда некоторые сообщения, которые были объявлены отправленными на сервер MQ нашим клиентским приложением, не были использованы нашим потребителем MQ. Нам не хватало регистрации произведенных / потребленных сообщений, поэтому мы попытались проверить сообщения в журнале / данных MQ-сервера.

Мы обнаружили, что сообщения хранятся в /var/mqm/qmgrs/MQ_MANAGER/queues/, но мы не нашли там все сообщения в файле очереди ( старые сообщения не были найдены)

Какова политика ролловера в IBM MQ и где находятся старые файлы очередей go?

Ответы [ 2 ]

3 голосов
/ 13 января 2020

Это не так, как работают файлы очереди. Они не журналы опрокидывания. Одно и то же пространство постоянно перезаписывается по мере необходимости для хранения сообщений, но сообщения могут вообще туда не записываться, если они могут обрабатываться с помощью кэшей памяти и т. Д. c.

PERSISTENT сообщения обычно регистрируются в файлах в / var / mqm / log, но существуют обстоятельства, когда даже этого можно избежать. Конфигурация вашего файла журнала восстановления qmgr (циркуляр / линейный и c) будет определять, останется ли доступной историческая c информация о сообщениях PERSISTENT.

Сообщения NONPERSISTENT никогда не регистрируются в этих файлах.

1 голос
/ 13 января 2020

В IBM MQ сообщения могут быть либо постоянными, либо непостоянными.

Если сообщение является постоянным, оно обычно записывается в журналы транзакций (обычно в /var/mqm/log/MQ_MANAGER/active) до завершения фиксации или до PUT завершается, если не выполнено в единицах работы.

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

На данный момент любой тип сообщения может находиться только в памяти и будет записан в файл очереди (обычно в /var/mqm/qmgrs/MQ_MANAGER/queues), если ему нужно разгрузить память или если он постоянен и установлена ​​контрольная точка.

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

Файл очереди уменьшится в размере, если пространство, занимаемое сообщениями, которые больше не нужны, при использовании это происходит автоматически, и, насколько я знаю, IBM не конфигурирует и не документирует.

Непостоянные сообщения, как правило, не сохраняются после перезапуска администратора очередей.

Журналы транзакций можно настроить как циклические или линейные. Если круговые журналы будут использоваться повторно, когда они больше не нужны. Если линейно с автоматизированным c журналом управления (введено в 9.0.2), они будут работать аналогично циклическому. Если линейно без автоматического управления журналом c, то, что случится с журналами, которые больше не нужны, будет основано на вашем собственном управлении журналом.

Если сообщение все еще находится в журнале транзакций, вы можете его просмотреть. как описано в « Где мое сообщение? Инструмент и инструкции по использованию журнала восстановления MQ для выяснения того, что случилось с вашими постоянными сообщениями MQ на распределенных платформах ».

...