Как организовать inter-service communication — sync vs async?

Middle
290 просмотров
AFK Offer AI

Sync (HTTP/gRPC): просто, немедленный ответ, но сильная связность — caller ждёт, cascading failures. Async (Kafka/RabbitMQ): loose coupling, resilient, но eventual consistency, сложнее дебажить. Правило: если нужен немедленный ответ пользователю — sync. Если не нужен — async. Request-Reply через Kafka — async с ответом (корреляция по ID). Choreography vs Orchestration для сложных потоков. В реальности mix: sync для queries, async для commands и events.

Следующий вопрос

Как работают Spring Profiles и когда использовать @Profile?