Исходный код вики Конвеер и Запрос-Ответ

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

Скрыть последних авторов
Alexandr Fokin 2.3 1 |(% style="width:179px" %)Запрос-Ответ|(% style="width:1316px" %)Клиент посылает запрос на сервер.
Alexandr Fokin 2.1 2 Сервер выполняет некоторые действия.
3 Сервер возвращает ответ.
Alexandr Fokin 2.3 4 Обычно предполагается, что промежуток времени между началом и окончанием выполнения запроса не велик и превышение некоторого промежутка времени рассматривается как ошибка (timeout).
5 |(% style="width:179px" %)Двухсторонний конвейер|(% style="width:1316px" %)(((
6 (% style="width:469px" %)
7 |(% style="width:128px" %) |(% style="width:338px" %)(((
8 1. поток заявок
9 1. поток ответов
10 )))
11 |(% style="width:128px" %)Клиент|(% style="width:338px" %)(((
12 * Пишет в поток заявок
13 * Читает поток ответов
14 )))
15 |(% style="width:128px" %)Сервер|(% style="width:338px" %)(((
16 * Читает поток заявок
17 * Пишет в поток ответов
18 )))
Alexandr Fokin 2.1 19
Alexandr Fokin 2.3 20 1. Клиент кладет заявку в поток заявок.
21 1. Сервер забирает заявку из потока заявок.
22 1. Сервер выполняет обработку.
23 1. Сервер кладет результат обработки в поток ответов.
24 1. Клиент забирает результаты из потока ответов.
Alexandr Fokin 2.1 25
26
Alexandr Fokin 2.3 27 В качестве промежуточного узла между клиентом и сервером может выступать [[Брокеры сообщений>>doc:Разработка.Брокеры сообщений.WebHome]].
Alexandr Fokin 2.1 28
Alexandr Fokin 2.3 29 ----
Alexandr Fokin 2.1 30
31 Вопросы
32 1) Если несколько клиентов работают через один поток, то способные ли они
33 1.1) Получать ответы только на свои заявки, не пересекаясь с другими
34 1.2) Получать весь поток ответов и фильтровать, отбирая только свои ответы
35 2) Вопрос скорости обработки. Успевает ли сервер обрабатывать весь поток заявок или же очередь заявок нарастает.
Alexandr Fokin 2.3 36 3) Вопрос размеров очереди сообщений.
37 )))
38 |(% style="width:179px" %) |(% style="width:1316px" %)