Очередь сообщений транзакций
Транзакция представляет собой ряд изменений хранилища данных (например, базы данных или файловой системы), гарантированно выполняющихся или не выполняющихся вообще. Чтобы реализовать транзакцию, запись хранится в состоянии хранилища данных до начала транзакции и, если одна из изменений завершается сбоем, транзакция возвращает сбой, а начальное состояние восстанавливается (или откат). Транзакции используются для обеспечения целостности данных и, следовательно, играют важную роль в программировании на бизнес-программное обеспечение.
Часто приложения можно разрабатывать с помощью бизнес-транзакции или рабочего процесса, разделенного на несколько небольших транзакций или действий. Эти действия разделяются по времени, а затем подключаются с помощью надежных очередей сообщений.
- Первая транзакция включает базу данных записи заказа. Очередь сообщений перемещает сообщение из одной очереди в другую очередь, ровно один раз с помощью возможностей транзакций. Если база данных обновлена, в очереди появится сообщение. Если сообщение не достигнет очереди, оно прервано и база данных откатится.
- Через некоторое время очередь сообщений обнаруживает, что сервер доступен. Нет опроса приложений для существования сервера. Это вторая транзакция.
- Третья транзакция включает запрос базы данных доставки и обновление базы данных доставки. Если сервер завершается сбоем в середине этой транзакции, изменение откатится и сообщение возвращается в входную очередь. Это гарантирует, что целостность данных и баз данных сохраняется во время транзакций.