У меня есть вариант использования, когда в одном запросе выполняется 6 шагов. Бизнес требует, чтобы мы собирали показатели того, каков был результат каждого шага в процессе. Они хотят, чтобы мы подключились к потоку Kinesis.
С архитектурной точки зрения я ищу лучшее решение. У нас есть службы на основе Java. Я хочу, чтобы объект области запроса обогащался по мере выполнения запроса, а затем, когда конечная точка завершает работу, мы делаем асинхронный вызов службы для kinesis, используя шаблон «запустил и забыл». Таким образом, отчетность не задерживает основной поток.
Я рассматривал возможность использования необработанной области ThreadLocal или guice. Кто-нибудь сталкивался с похожей проблемой, которую решили? Я думаю об использовании компонентов области запроса guice, которые значительно упростят код. Просто ищу мнения. Спасибо!