# Синхронное и асинхронное взаимодействие

Редактировал(а) Alexandr Fokin 2024/06/12 15:47

Синхронное взаимодействие |
Запрос - ответ | Клиент посылает запрос на сервер. Сервер выполняет некоторые действия. Сервер возвращает ответ. Обычно предполагается, что промежуток времени между началом и окончанием выполнения запроса не велик и превышение некоторого промежутка времени рассматривается как ошибка (timeout).
Асинхронное взаимодействие |
Запрос - ответ |
| очередь команд очередь ответов
Клиент | Пишет в очередь команд Читает очередь ответов
Сервер | Читает очередь команд Пишет в очередь ответов
Клиент кладет заявку в поток заявок. Сервер забирает заявку из потока заявок. Сервер выполняет обработку. Сервер кладет результат обработки в поток ответов. Клиент забирает результаты из потока ответов.
Оповещение (событие) | Сервис публикующий события. Сервис читающий поток событий.
| В качестве промежуточного узла между клиентом и сервером может выступать Брокеры сообщений. Вопросы 1) Если несколько клиентов работают через одну очередь, то способные ли они: 1.1) Получать ответы только на свои заявки, не пересекаясь с другими. 1.2) Получать весь поток ответов и фильтровать его, отбирая только свои ответы. 2) Вопрос скорости обработки. Успевает ли сервер обрабатывать весь поток заявок или же очередь заявок нарастает. 3) Вопрос размеров очереди сообщений.

#### Внутренние ссылки:

###### Дочерние страницы:

###### Обратные ссылки:

- Создание микросервисов | Сэм Ньюмен | O’Reilly
- Механизмы

Создал(а) Alexandr Fokin 2020/02/13 12:25

- Комментарии (0)
- Вложения (0)
- История
- Информация

## Приложения