Ответ
Синхронное взаимодействие — это модель обмена данными, при которой отправитель запроса блокирует выполнение текущего процесса и ожидает немедленного ответа от получателя.
Ключевая характеристика: Прямая, блокирующая связь «запрос-ответ» в реальном времени.
Пример (HTTP API):
// Синхронный запрос (например, с помощью XMLHttpRequest в synchronous mode)
const request = new XMLHttpRequest();
request.open('GET', 'https://api.example.com/data', false); // false = синхронный режим
request.send(); // Поток выполнения блокируется здесь
console.log(request.responseText); // Код выполнится только после получения ответа
Плюсы:
- Простота логики потока выполнения.
- Гарантированный порядок операций.
- Немедленная обработка ошибок.
Минусы:
- Низкая отказоустойчивость: сбой или задержка у получателя приводит к простою отправителя.
- Плохая масштабируемость: ресурсы (потоки, память) заняты в ожидании.
- Связанность систем: получатель должен быть доступен в момент запроса.
Типичное применение: Традиционные RESTful API, вызовы RPC (gRPC в синхронном режиме), операции в монолитных приложениях, где критична последовательность.