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

<
От версии < 2.6 >
отредактировано Alexandr Fokin
на 2024/06/12 15:38
К версии < 2.2 >
отредактировано Alexandr Fokin
на 2023/01/23 22:51
>
Изменить комментарий: Update document after refactoring.

Комментарий

Подробности

Свойства страницы
Название
... ... @@ -1,1 +1,1 @@
1 -Конвейер и Запрос-Ответ
1 +Конвеер и Запрос-Ответ
Содержимое
... ... @@ -1,71 +18,36 @@
1 -|(% style="width:267px" %)Запрос-Ответ.
2 -Также синхронное взаимодействие.|(% style="width:1228px" %)
3 -|(% style="width:267px" %)Двухсторонний конвейер.
4 -Также асинхронное взаимодействие.|(% style="width:1228px" %)(((
5 -(% style="width:469px" %)
6 -|(% style="width:128px" %) |(% style="width:338px" %)(((
7 -1. поток заявок
8 -1. поток ответов
9 -)))
10 -|(% style="width:128px" %)Клиент|(% style="width:338px" %)(((
11 -* Пишет в поток заявок
12 -* Читает поток ответов
13 -)))
14 -|(% style="width:128px" %)Сервер|(% style="width:338px" %)(((
15 -* Читает поток заявок
16 -* Пишет в поток ответов
17 -)))
18 18  
19 -1. Клиент кладет заявку в поток заявок.
20 -1. Сервер забирает заявку из потока заявок.
21 -1. Сервер выполняет обработку.
22 -1. Сервер кладет результат обработки в поток ответов.
23 -1. Клиент забирает результаты из потока ответов.
2 +Модель Запрос-Ответ
3 +Клиент посылает запрос на сервер.
4 +Сервер выполняет некоторые действия.
5 +Сервер возвращает ответ.
6 +Обычно предполагается, что промежуток времени между наалом и окнчанием выполнения запроса не велик и превышение некоторого промежутка времени рассматривается как ошибка (timeout).
24 24  
25 -В качестве промежуточного узла между клиентом и сервером может выступать [[Брокеры сообщений>>doc:Разработка.Брокеры сообщений.WebHome]].
26 26  
27 -----
9 +Модель Двухсторонний конвеер
10 +1) поток заявок
11 +2) поток ответов
28 28  
29 -Вопросы
30 -1) Если несколько клиентов работают через одну очередь, то способные ли они:
31 -1.1) Получать ответы только на свои заявки, не пересекаясь с другими.
32 -1.2) Получать весь поток ответов и фильтровать его, отбирая только свои ответы.
33 -2) Вопрос скорости обработки. Успевает ли сервер обрабатывать весь поток заявок или же очередь заявок нарастает.
34 -3) Вопрос размеров очереди сообщений.
35 -)))
36 -|(% style="width:267px" %) |(% style="width:1228px" %)
13 +Клиент
14 + Пишет в поток заявок
15 + Читает поток ответов
37 37  
17 +Сервер
18 + Читает поток заявок
19 + Пишет в поток ответов
38 38  
39 -|(% style="width:269px" %)Синхронное взаимодействие|(% style="width:1216px" %)(((
40 -|(% style="width:125px" %)Запрос - ответ|(% style="width:1073px" %)(((
41 -1. Клиент посылает запрос на сервер.
42 -1. Сервер выполняет некоторые действия.
43 -1. Сервер возвращает ответ.
44 -Обычно предполагается, что промежуток времени между началом и окончанием выполнения запроса не велик и превышение некоторого промежутка времени рассматривается как ошибка (timeout).
45 -)))
46 -|(% style="width:125px" %) |(% style="width:1073px" %)
47 -)))
48 -|(% style="width:269px" %)Асинхронное взаимодействие|(% style="width:1216px" %)(((
49 -|(% style="width:130px" %)Запрос - ответ|(% style="width:1068px" %)(((
50 -|(% style="width:128px" %) |(% style="width:338px" %)(((
51 -1. очередь команд
52 -1. очередь ответов
53 -)))
54 -|(% style="width:128px" %)Клиент|(% style="width:338px" %)(((
55 -* Пишет в очередь команд
56 -* Читает очередь ответов
57 -)))
58 -|(% style="width:128px" %)Сервер|(% style="width:338px" %)(((
59 -* Читает очередь команд
60 -* Пишет в очередь ответов
61 -)))
62 -| |
63 -)))
64 -|(% style="width:130px" %)Оповещение (событие)|(% style="width:1068px" %)
65 -|(% style="width:130px" %) |(% style="width:1068px" %)
66 66  
67 -
68 -)))
69 -|(% style="width:269px" %) |(% style="width:1216px" %)
22 +Клиент кладет заявку в поток заявок.
23 +Сервер забирает заявку из потока заявок.
24 +Сервер выполняет обработку.
25 +Сервер кладет результат обработки в поток ответов.
26 +Клиет забирает результаты из потока ответов.
70 70  
71 -
28 +В качестве промежуточного узла между клиентом и сервером может выступать очередь сообщений.
29 +
30 +Вопросы
31 +1) Если несколько клиентов работают через один поток, то способные ли они
32 +1.1) Получать ответы только на свои заявки, не пересекаясь с другими
33 +1.2) Получать весь поток ответов и фильтровать, отбирая только свои ответы
34 +2) Вопрос скорости обработки. Успевает ли сервер обрабатывать весь поток заявок или же очередь заявок нарастает.
35 +3) Вопрос раззмеров очереди сообщений.
36 +