У меня такая ситуация:
В микросервисе MS1 есть БД, скажем, с N записями, а внешний источник предоставляет новые данные, которые, если они действительны, следует сохранить
процесс проверки выполняется микросервисом MS2, который является пользователем темы кафки T1, по которой MS1 отправляет новые данные
подтверждениеПотенциальная N + 1 запись включает в себя запрос по всем предыдущим N записям. Если проверка прошла успешно, MS2 выдает результат по теме T2, по которой MS1 является потребителем, поэтому она может сохранять новые действительные данные.
Проблема заключается в следующем.
Представьте, что N + 1 действительных новых данных слишком велик и требует много времени для записи на БД: может случиться так, что проверка потенциальной N + 2 записи не удастся, потому что запрос к БДдоступно только N доступных записей вместо N + 1.
Возможно ли, используя каким-либо образом возможности kafka, приостановить процесс проверки до тех пор, пока MS1 не передаст предыдущие действительные данные в БД?
Не используя kafka, единственный способ, который я нашел для обеспечения запросов проверки на актуальную БД, - это сделать вызов покоя между двумя микросервисами, чтобы дождаться ответов друг друга.
Буду признателен за любую помощь или новое решение.
Спасибо!