У меня есть приложение с ведомым событием с горизонтальным событием, которое выполняется с использованием темы шины службы Azure и очереди служебной шины. Некоторые события для создания состояния моей модели домена принимаются по этой теме всеми моими серверами, в то время как те, которые находятся в очереди (те, которые получают гораздо чаще и не изменяют состояние модели домена), распределяются между серверами, чтобы распределить нагрузки.Уникальная параллельная вставка DocumentDB?
Теперь, каждый раз, когда один из моих серверов получает событие через очередь или тему, он хранит его в DocumentDB, который он использует в качестве хранилища событий.
Теперь вот в чем проблема. Как я могу быть уверен, что один и тот же документ не вставлен дважды? Скажем, 3 сервера получают одно и то же событие. Все они пытаются его сохранить. Как я могу сделать это неудачно для 2 серверов в случае, если они решили сделать все это одновременно? Есть ли какая-либо форма единственного ограничения, которую я могу установить в DocumentDB или какой-либо области транзакции, чтобы предотвратить вставку документа дважды?
Возможно ли, чтобы вы разработали идентификатор так, чтобы он был таким же, если у вас был тот же документ? Если это так, просто пишите на этот id. –