Средний
Всегда ли должен быть ответ в синхронном и асинхронном запросе?
В синхронном запросе (REST, gRPC):
Ответ ожидается всегда. Клиент блокирует поток и ждет. Если сервер упал, клиент получит ответ с ошибкой (например, 504 Gateway Timeout или Connection Refused).
В асинхронном запросе (Kafka, RabbitMQ, Webhooks):
Ответ не обязателен.
- При отправке в очередь (Fire-and-Forget) клиент просто кидает сообщение и идет дальше.
- Если ответ все же нужен, используется паттерн Request-Reply (клиент слушает отдельную очередь для ответов), но он придет позже, а не в рамках текущего TCP-соединения.