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

Версия 2.6 от Alexandr Fokin на 2024/06/12 15:38

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