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

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

Скрыть последних авторов
Alexandr Fokin 2.5 1 |(% style="width:267px" %)Запрос-Ответ.
Alexandr Fokin 2.6 2 Также синхронное взаимодействие.|(% style="width:1228px" %)
Alexandr Fokin 2.5 3 |(% style="width:267px" %)Двухсторонний конвейер.
4 Также асинхронное взаимодействие.|(% style="width:1228px" %)(((
Alexandr Fokin 2.7 5
Alexandr Fokin 2.1 6
7 Вопросы
Alexandr Fokin 2.5 8 1) Если несколько клиентов работают через одну очередь, то способные ли они:
9 1.1) Получать ответы только на свои заявки, не пересекаясь с другими.
10 1.2) Получать весь поток ответов и фильтровать его, отбирая только свои ответы.
Alexandr Fokin 2.1 11 2) Вопрос скорости обработки. Успевает ли сервер обрабатывать весь поток заявок или же очередь заявок нарастает.
Alexandr Fokin 2.3 12 3) Вопрос размеров очереди сообщений.
13 )))
Alexandr Fokin 2.5 14 |(% style="width:267px" %) |(% style="width:1228px" %)
Alexandr Fokin 2.6 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" %)(((
27 |(% style="width:128px" %) |(% style="width:338px" %)(((
28 1. очередь команд
29 1. очередь ответов
30 )))
31 |(% style="width:128px" %)Клиент|(% style="width:338px" %)(((
32 * Пишет в очередь команд
33 * Читает очередь ответов
34 )))
35 |(% style="width:128px" %)Сервер|(% style="width:338px" %)(((
36 * Читает очередь команд
37 * Пишет в очередь ответов
38 )))
39 | |
Alexandr Fokin 2.7 40
41 1. Клиент кладет заявку в поток заявок.
42 1. Сервер забирает заявку из потока заявок.
43 1. Сервер выполняет обработку.
44 1. Сервер кладет результат обработки в поток ответов.
45 1. Клиент забирает результаты из потока ответов.
46
47 В качестве промежуточного узла между клиентом и сервером может выступать [[Брокеры сообщений>>doc:Разработка.Брокеры сообщений.WebHome]].
Alexandr Fokin 2.6 48 )))
Alexandr Fokin 2.7 49 |(% style="width:130px" %)Оповещение (событие)|(% style="width:1068px" %)Сервис публикующий события.
50 Сервис читающий поток событий.
Alexandr Fokin 2.6 51 |(% style="width:130px" %) |(% style="width:1068px" %)
52
53
54 )))
55
56