Поделиться через


Преимущества обработки очередей

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

  • Снижение зависимости от доступности компонентов
  • Более короткие сроки существования компонентов
  • Непрерывная производительность при использовании отключенных приложений
  • Надежность сообщений
  • Эффективное планирование сервера

Доступность компонентов

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

Время существования компонентов

Приложение, использующее службу компонентов очереди, позволяет серверу работать независимо от клиента. В результате компоненты сервера могут выполняться быстрее. В системе в режиме реального времени компонент сервера существует с момента его создания до окончательного освобождения объекта. Сервер ожидает вызова метода и возврата результатов, что снижает скорость велоспорта объектов сервера и ограничивает масштабируемость сервера.

Отключенные приложения

Увеличение использования ноутбуков, записных книжек и компьютеров с пальмами создало потребность в приложениях, которые иногда отключали клиентов или мобильных пользователей. В системе с очередью эти пользователи могут продолжать работать в отключенном сценарии или при отсутствии подключения к серверу, а затем подключаться к базам данных или серверам для обработки запросов. Например, продавец может принимать заказы от клиентов и позже подключаться к отделу доставки для обработки этих заказов.

Если у вас есть компонент, который может быть запущен либо подключен, либо отключен, сообщения перемещаются в одном направлении, и редко требуется переключиться назад и вперед. Например, в сценарии принятия заказов компонент доставки получает сообщение и обрабатывает его. Он может создать другой компонент для выставления счетов или аудита. Клиент фиксирует перед запуском сервера. Сообщение не отправляется до фиксации приложения.

На следующем рисунке показан поток информации в отключенном сценарии.

Diagram that shows teh flow of information between the client and server.

Надежность сообщений

Очередь сообщений — это мощное средство, которое использует методы базы данных для обеспечения надежной защиты данных. В случае сбоя сервера очередь сообщений гарантирует откат транзакций, чтобы сообщения не были потеряны и данные не повреждены.

Планирование сервера

Приложение, использующее компоненты очереди, хорошо подходит для выполнения смещенного по времени компонента, который откладывает некритичную работу в непиковый период. Это та же полезная концепция, которая была применена к традиционной обработке пакетного режима. Аналогичные запросы можно отложить для непрерывного выполнения сервером, а не требовать от сервера немедленного реагирования на широкий спектр запросов.