Как делается двусторонняя интеграция сервисов на вебхуках?

Ребят, подскажите новичку:

Есть сервис А, в котором при изменении Сделки отправляется вебхук сервису Б и тоже самое происходит на сервисе Б в обратную сторону. Двусторонняя интеграция. Между ними собственно сервис который занимается получением, преобразованием, отправкой.

Встал такой вопрос: если сервисы друг друга уведомляют при изменении сделки и меняют данные, то получается зацикливание процесса. Как такое решается? Должно быть так: Сервис А отправил серверу вебхук — Сервер преобразовала данные и отправил сервису Б — Сервис Б изменил в себе данные и НЕ СТАЛ отправлять вебхук об изменении серверу (и, соответственно, сервису А)
  • Вопрос задан
  • 97 просмотров
Решения вопроса 1
@Akela_wolf
Extreme Programmer
Тут что-то не так с архитектурной точки зрения. Вообще такие циклические зависимости - очень сильный признак что что-то не так на уровне проектирования. "Источником правды" должен быть какой-то один сервис. Поэтому, я бы в первую очередь подумал не как реализовать такую структуру, а как перепроектировать её, чтобы избавиться от такой зависимости.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы