Я знаю, что существуют библиотеки для отслеживания запросов в распределенных системах на основе OpenTracing и OpenTelemetry; все они работают, потому что запросы связаны / связаны (микросервисы разговаривают друг с другом). Как отследить, когда системы / службы отключены?
Служба X вызывает службу Y. Y выполняет некоторую обработку, а затем записывает в общую папку. Компонент Z опрашивает совместно используемое местоположение (через час) и выполняет обработку.
Я хочу знать, есть ли для каждого запроса, сгенерированного X, статус в каждой из этих 3 систем.
Простой способ отслеживать это - иметь таблицу и обновлять записи в БД. Однако, учитывая тот факт, что мне может потребоваться повторить определенные действия, я подумал о внедрении механизма рабочего процесса (Cadence), который открывает рабочий процесс в Службе X. Затем в каждой из Служб рабочий процесс обновляется. Если запрос достигает Y, шаг в ж / д завершается. Если он не достигает Z, рабочий процесс остается открытым, и через некоторое время я могу сгенерировать электронное письмо и т. Д., В котором говорится, что рабочий процесс не удался.
Мне нужна помощь, чтобы понять, правильный ли это способ и / или другие методы для этого.