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

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

Последние авторы
1 |(% style="width:179px" %)Запрос-Ответ|(% style="width:1316px" %)Клиент посылает запрос на сервер.
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 )))
19
20 1. Клиент кладет заявку в поток заявок.
21 1. Сервер забирает заявку из потока заявок.
22 1. Сервер выполняет обработку.
23 1. Сервер кладет результат обработки в поток ответов.
24 1. Клиент забирает результаты из потока ответов.
25
26
27 В качестве промежуточного узла между клиентом и сервером может выступать [[Брокеры сообщений>>doc:Разработка.Брокеры сообщений.WebHome]].
28
29 ----
30
31 Вопросы
32 1) Если несколько клиентов работают через один поток, то способные ли они
33 1.1) Получать ответы только на свои заявки, не пересекаясь с другими
34 1.2) Получать весь поток ответов и фильтровать, отбирая только свои ответы
35 2) Вопрос скорости обработки. Успевает ли сервер обрабатывать весь поток заявок или же очередь заявок нарастает.
36 3) Вопрос размеров очереди сообщений.
37 )))
38 |(% style="width:179px" %) |(% style="width:1316px" %)