Гарантированность доставки
Гарантированность доставки информации обеспечивается использованием протокола MCP и средствами восстановления серверов.
Применяемый для передачи информации между удаленными очередями сообщений, протокол MCP фиксирует факт передачи только в том случае, когда процесс доставки завершился успешно. Если во время пересылки информации сообщение либо его части были по каким-либо причинам потеряны, то на протокольном уровне осуществляется повторная посылка информации. Для повышения гибкости система MQ позволяет разбивать сообщение на более мелкие сегменты. Сегменты могут передаваться независимо друг от друга, при этом при получении осуществляется сборка всех сегментов в единое сообщение. Сокращение размера сегмента особенно актуально при работе в условиях ненадежных соединений.
Таким образом, применение специализированного протокола и сегментация сообщений совместно с возможностью хранения информации в очереди на время неработоспособности сети делает MQ, как представителя MOM, незаменимым средством при проектировании информационных систем высокой надежности. Кроме того, MQ предоставляет специальные средства для работы при отказе серверного оборудования. При отказе одного из серверов, на котором развернут менеджер очередей MQ, система может воспользоваться обходным путем доставки информации через другие менеджеры очередей. Заметим, что реализация данной настройки не является слишком сложной для программистов и может быть скрыта от разработчиков внешних приложений. Кроме того, при восстановлении сервера все сообщения, находящиеся в очередях и определенные как <устойчивые> (см. выше), не теряются и продолжают свой путь до приложения-приемника.
Средства обеспечения гарантированности доставки информации позволяют использовать MQ в промышленных системах, где потеря информации может привести к нежелательным последствиям. В этом состоит принципиальное отличие MQ, как представителя класса MOM, от, например, систем электронной почты. Последние не предоставляют сервиса гарантированной доставки, в лучшем случае информируя отправителя о факте получения/неполучения информации.
При существенных проблемах, возникающих в сети (например, блокировка канала передачи информации в течение длительного времени, отказ сервера и пр.), т.е. в случае критической ситуации, связанной с невозможностью доставки информации, WebSphere MQ помещает сообщение в специальную очередь - Dead Letters Queue (DLQ). Заметим, что сообщение при этом не удаляется (если оно было определено как устойчивое), а лишь перемещается в другое место для временного хранения. Отслеживая с помощью специальных средств содержимое очереди сообщений DLQ, приложение или оператор системы имеет возможность предпринять те или иные действия для исправления ситуации. В очередь DLQ также попадают и сообщения с истекшим сроком действия.