Commit после REST-ответа не делает внешний вызов и локальное изменение атомарными. Внешняя операция могла завершиться, а локальная транзакция — упасть; timeout также не доказывает отказ.
Объясните, где была определена аннотация и какая логика её обрабатывала. Аннотация в одном микросервисе сама по себе не распространяется на другие процессы.
Saga разбивает общий бизнес-процесс на локальные транзакции сервисов. При ошибке выполняются предусмотренные компенсации, а не общий rollback всех баз данных.
Опишите реальные границы сервисов ДБО, взаимодействия и свой участок. Вызовы могут касаться согласованности операций, интеграций, безопасности и эксплуатации; конкретику подтверждайте опытом.
Если не работали со «Сбермоком», так и скажите и уточните его роль. По описанию это платформа эмуляции интеграций; знакомство с WireMock или тестовыми брокерами может быть релевантным, но не тождественным.
Подойдёт общий Semaphore с 10 permits: каждый вызов захватывает разрешение и освобождает его после завершения. Это ограничение параллельности, а не числа запросов в секунду.
Java Concurrency API включает executors и futures, locks и synchronizers, atomic-типы и concurrent collections. Эти группы управляют выполнением задач, координацией и общим состоянием.
Kafka позволяет отделить приём от обработки и сгладить пики долговечной очередью. Масштабирование синхронного API не создаёт такую гарантию и может усилить давление на ограниченную БД.
Используйте DelegatingSecurityContextExecutor или DelegatingSecurityContextRunnable: они переносят текущий SecurityContext в задачу и очищают его после выполнения. Обычный ThreadLocal сам в пул не переносится.
Опишите реальный перенос и главное изменение контракта: синхронный ответ заменяется асинхронным процессом с состоянием, корреляцией и обработкой повторов. Это не просто замена HTTP-клиента producer-ом.
REST-вызов внутри consumer связывает скорость Kafka-обработки с доступностью внешнего сервиса. Медленный вызов блокирует обработку partition, накапливает lag и может вызвать rebalance при превышении poll-интервала.