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

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

Комментарий

Подробности

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