MadeStone

15. Saga Choreography: от HTTP к Event-Driven архитектуре

Просмотры:
7
Дата загрузки:
22.06.2026 12:21
Длительность:
01:13:08
Категория:
Обучение

Описание

В этом видео мы делаем первый по-настоящему архитектурный шаг в серии OrderHub: заменяем синхронный HTTP-вызов между микросервисами на асинхронную Saga Choreography.

До этого видео мы уже настроили Kafka, Outbox, Debezium и OpenTelemetry, но самая важная бизнес-операция – оплата заказа – всё ещё выполнялась синхронно: клиент ждал ответа от payment-service, а при его отказе заказ не создавался.

Мы исправляем это:
Убираем блокирующий HTTP-вызов из OrderService
Вводим новый статус AWAITING_PAYMENT
Превращаем payment-service в полноценного участника Saga (Kafka consumer + producer)
Добавляем PaymentEventConsumer в order-service, который обрабатывает PaymentCompletedEvent и PaymentFailedEvent
Реализуем компенсирующую транзакцию (cancelOrder) – вместо rollback делаем новое действие


Что вы узнаете
Почему синхронный HTTP – это антипаттерн в микросервисах
Что такое Saga Choreography и чем она отличается от Orchestration
Как перейти от ACID к BASE и от rollback к компенсации
Как сделать бизнес-операцию асинхронной с помощью Kafka и Outbox
Как реализовать компенсирующую транзакцию на практике

Таймкоды:
00:00 – Вступление: проблема синхронного HTTP
08:47 – Теория Saga (ACID vs BASE, Choreography vs Orchestration, Eventual Consistency)
21:37 – Рефакторинг OrderService (удаляем HTTP, добавляем AWAITING_PAYMENT)
27:06 – Payment-service становится участником Saga
41:29 – Order-service слушает ответы (компенсация)
51:10 – Демонстрации
58:50 – Observability: трассировка в Jaeger
104:07 – Ограничения Choreography и мостик к Orchestration

Наш канал в телеграмм https://t.me/Java_for_beginner_dev.
Мы не претендуем на правильность всего сказанного в видео, мы только учимся))
Знаете что-то лучше и готовы поделиться - добро пожаловать!

#java #programming #spring #SagaChoreography #EventDrivenArchitecture #Microservices #SpringBoot #Kafka #Java #DistributedSystems #SoftwareArchitecture

Источники:

Рекомендуемые видео