Перейти к содержимому

Как работает шаблон транзакционной исходящей очереди (Transactional Outbox) в Azure Cosmos DB?

Azure Cosmos DB

0:00 / 0:00

Как работает шаблон транзакционной исходящей очереди (Transactional Outbox) в Azure Cosmos DB?

30 просмотров · 4 ч назад
Azure Cosmos DB
10,4 тыс. подписчиков
30 просмотров · 4 ч назад
В Azure Cosmos DB используется транзакционный шаблон исходящих сообщений, который предотвращает ненадежные двойные записи, сохраняя бизнес-элемент и событие исходящих сообщений вместе в одном атомарном транзакционном пакете. Оба документа должны иметь один и тот же контейнер и значение ключа логического раздела. Затем обработчик потока изменений передает событие брокеру сообщений. В этом двухминутном объяснении Пэтти Чоу отвечает на следующие вопросы: • Какую проблему решает транзакционный шаблон исходящих сообщений? Он предотвращает ситуацию, когда после успешной записи в базу данных не остается сохраненного события для публикации, если передача сообщений завершается с ошибкой. • Что может атомарно фиксировать Azure Cosmos DB? Бизнес-элемент и событие исходящих сообщений находятся в одном контейнере и одном логическом разделе. Публикация в брокер сообщений происходит отдельно, после транзакции с базой данных. • Гарантирует ли это доставку ровно один раз? Нет. Обработка потока изменений выполняется как минимум один раз, поэтому ретранслятор может публиковать дубликаты. Используйте стабильные идентификаторы событий для дедупликации и сделайте потребителей идемпотентными, чтобы повторная обработка события не имела дополнительных эффектов. Докладчик: Пэтти Чоу Узнайте, как реализовать шаблон транзакционных исходящих сообщений: https://learn.microsoft.com/azure/arc... #AzureCosmosDB #NoSQL