Конвейер и Запрос-Ответ

Версия 2.4 от Alexandr Fokin на 2023/01/23 22:56

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

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


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

  
Теги: