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

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

Синхронное взаимодействие
Запрос - ответ
  1. Клиент посылает запрос на сервер.
  2. Сервер выполняет некоторые действия.
  3. Сервер возвращает ответ.
    Обычно предполагается, что промежуток времени между началом и окончанием выполнения запроса не велик и превышение некоторого промежутка времени рассматривается как ошибка (timeout).
  
Асинхронное взаимодействие
Запрос - ответ
 
  1. очередь команд
  2. очередь ответов
Клиент
  • Пишет в очередь команд
  • Читает очередь ответов
Сервер
  • Читает очередь команд
  • Пишет в очередь ответов
  
  1. Клиент кладет заявку в поток заявок.
  2. Сервер забирает заявку из потока заявок.
  3. Сервер выполняет обработку.
  4. Сервер кладет результат обработки в поток ответов.
  5. Клиент забирает результаты из потока ответов.

 

Оповещение (событие)Сервис публикующий события.
Сервис читающий поток событий.
  
 

В качестве промежуточного узла между клиентом и сервером может выступать Брокеры сообщений.

Вопросы
1) Если несколько клиентов работают через одну очередь, то способные ли они:
1.1) Получать ответы только на свои заявки, не пересекаясь с другими.
1.2) Получать весь поток ответов и фильтровать его, отбирая только свои ответы.
2) Вопрос скорости обработки. Успевает ли сервер обрабатывать весь поток заявок или же очередь заявок нарастает.
3) Вопрос размеров очереди сообщений.


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

Дочерние страницы:
Обратные ссылки:

Теги: