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

In this video, we take the first truly architectural step in the OrderHub series: replacing the synchronous HTTP call between microservices with an asynchronous Choreography Saga. Prior to this video, we had already configured Kafka, Outbox, Debezium, and OpenTelemetry, but the most important business operation—order payment—was still performed synchronously: the client waited for a response from the payment service, and if it refused, the order was not created. We'll fix this: Remove the blocking HTTP call from the OrderService Introduce a new AWAITING_PAYMENT status Turn the payment service into a full-fledged Saga participant (Kafka consumer + producer) Add PaymentEventConsumer to the order service, which handles PaymentCompletedEvent and PaymentFailedEvent Implement a compensating transaction (cancelOrder) – instead of a rollback, we create a new action What you'll learn Why synchronous HTTP is an anti-pattern in microservices What is Saga Choreography and how it differs from Orchestration How to migrate from ACID to BASE and from rollback to compensation How to make a business operation asynchronous using Kafka and Outbox How to implement a compensating transaction in practice Timecodes: 00:00 – Introduction: The problem with synchronous HTTP 08:47 – Saga Theory (ACID vs. BASE, Choreography vs. Orchestration, Eventual) Consistency) 21:37 – OrderService Refactoring (Removing HTTP, Adding AWAITING_PAYMENT) 27:06 – Payment Service Becomes a Saga Participant 41:29 – Order Service Listens for Responses (Compensation) 51:10 – Demos 58:50 – Observability: Tracing in Jaeger 104:07 – Choreography Limitations and a Bridge to Orchestration Our Telegram channel is https://t.me/Java_for_beginner_dev. We don't claim to be completely accurate in everything said in the video; we're just learning. If you know something better and are willing to share, welcome! #java #programming #spring #SagaChoreography #EventDrivenArchitecture #Microservices #SpringBoot #Kafka #Java #DistributedSystems #SoftwareArchitecture

11. Fallback и graceful degradation — когда всё сломалось, но пользователь этого не заметил
▶︎

11. Fallback и graceful degradation — когда всё сломалось, но пользователь этого не заметил

How Instagram Scaled Postgres to 2 Billion Users
▶︎

How Instagram Scaled Postgres to 2 Billion Users

What should every developer know about Kafka?
▶︎

What should every developer know about Kafka?

12. RabbitMQ: A Complete Look from Confirm to DLQ – Everything You Need for a Reliable Task Queue.
▶︎

12. RabbitMQ: A Complete Look from Confirm to DLQ – Everything You Need for a Reliable Task Queue.

How Agents Quietly Break Architecture
▶︎

How Agents Quietly Break Architecture

How to Trick the Military Registration and Enlistment Office? 10 Ways to Leave Russia in 2026
▶︎

How to Trick the Military Registration and Enlistment Office? 10 Ways to Leave Russia in 2026

Алексей Кашин — Надежно отправляем события в Apache Kafka. От CDC до паттерна Transactional Outbox
▶︎

Алексей Кашин — Надежно отправляем события в Apache Kafka. От CDC до паттерна Transactional Outbox

14. Transactional Outbox: How to guarantee event publishing
▶︎

14. Transactional Outbox: How to guarantee event publishing

Build a Full-Stack GenAI Project in 4 Hours (FastAPI, React, Supabase)
▶︎

Build a Full-Stack GenAI Project in 4 Hours (FastAPI, React, Supabase)

Google & AWS Veteran: What Top Tier Software Architects Do Differently
▶︎

Google & AWS Veteran: What Top Tier Software Architects Do Differently

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup
▶︎

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup

Открытый урок: как на самом деле работают транзакции в Postgres | MVCC, уровни изоляции и блокировки
▶︎

Открытый урок: как на самом деле работают транзакции в Postgres | MVCC, уровни изоляции и блокировки

5. Бизнес-метрики в Spring Boot: Micrometer и реальная Observability
▶︎

5. Бизнес-метрики в Spring Boot: Micrometer и реальная Observability

Complete Terraform Course - From BEGINNER to PRO! (Learn Infrastructure as Code)
▶︎

Complete Terraform Course - From BEGINNER to PRO! (Learn Infrastructure as Code)

Agent Harness | THE CLEAREST EXPLANATION!
▶︎

Agent Harness | THE CLEAREST EXPLANATION!

Keycloak с нуля: от первого токена до современной auth-архитектуры
▶︎

Keycloak с нуля: от первого токена до современной auth-архитектуры

Kubernetes Zero to Hero: The Complete Beginner’s Guide (2025 Edition)
▶︎

Kubernetes Zero to Hero: The Complete Beginner’s Guide (2025 Edition)

Yann LeCun: World Models: Enabling the next AI revolution
▶︎

Yann LeCun: World Models: Enabling the next AI revolution

Co-Creator of Haskell: Functional Programming, Thinking in Types, Useless Languages | Simon Jones
▶︎

Co-Creator of Haskell: Functional Programming, Thinking in Types, Useless Languages | Simon Jones

System Design Explained: APIs, Databases, Caching, CDNs, Load Balancing & Production Infra
▶︎

System Design Explained: APIs, Databases, Caching, CDNs, Load Balancing & Production Infra