Изменения документа Синхронное и асинхронное взаимодействие
Редактировал(а) Alexandr Fokin 2024/06/12 15:47
<
>
отредактировано Alexandr Fokin
на 2023/01/23 22:58
на 2023/01/23 22:58
отредактировано Alexandr Fokin
на 2024/06/12 15:44
на 2024/06/12 15:44
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Название
-
... ... @@ -1,1 +1,1 @@ 1 - КонвейериЗапрос-Ответ1 +Синхронное и асинхронное взаимодействие - Содержимое
-
... ... @@ -1,23 +6,39 @@ 1 -|(% style="width:267px" %)Запрос-Ответ. 2 -Также синхронное взаимодействие.|(% style="width:1228px" %)Клиент посылает запрос на сервер. 3 -Сервер выполняет некоторые действия. 4 -Сервер возвращает ответ. 5 -Обычно предполагается, что промежуток времени между началом и окончанием выполнения запроса не велик и превышение некоторого промежутка времени рассматривается как ошибка (timeout). 6 6 |(% style="width:267px" %)Двухсторонний конвейер. 7 7 Также асинхронное взаимодействие.|(% style="width:1228px" %)((( 8 -(% style="width:469px" %) 3 + 4 + 5 +Вопросы 6 +1) Если несколько клиентов работают через одну очередь, то способные ли они: 7 +1.1) Получать ответы только на свои заявки, не пересекаясь с другими. 8 +1.2) Получать весь поток ответов и фильтровать его, отбирая только свои ответы. 9 +2) Вопрос скорости обработки. Успевает ли сервер обрабатывать весь поток заявок или же очередь заявок нарастает. 10 +3) Вопрос размеров очереди сообщений. 11 +))) 12 + 13 +|(% style="width:269px" %)Синхронное взаимодействие|(% style="width:1216px" %)((( 14 +|(% style="width:125px" %)Запрос - ответ|(% style="width:1073px" %)((( 15 +1. Клиент посылает запрос на сервер. 16 +1. Сервер выполняет некоторые действия. 17 +1. Сервер возвращает ответ. 18 +Обычно предполагается, что промежуток времени между началом и окончанием выполнения запроса не велик и превышение некоторого промежутка времени рассматривается как ошибка (timeout). 19 +))) 20 +|(% style="width:125px" %) |(% style="width:1073px" %) 21 +))) 22 +|(% style="width:269px" %)Асинхронное взаимодействие|(% style="width:1216px" %)((( 23 +|(% style="width:130px" %)Запрос - ответ|(% style="width:1068px" %)((( 9 9 |(% style="width:128px" %) |(% style="width:338px" %)((( 10 -1. потокзаявок11 -1. потокответов25 +1. очередь команд 26 +1. очередь ответов 12 12 ))) 13 13 |(% style="width:128px" %)Клиент|(% style="width:338px" %)((( 14 -* Пишет в потокзаявок15 -* Читает потокответов29 +* Пишет в очередь команд 30 +* Читает очередь ответов 16 16 ))) 17 17 |(% style="width:128px" %)Сервер|(% style="width:338px" %)((( 18 -* Читает потокзаявок19 -* Пишет в потокответов33 +* Читает очередь команд 34 +* Пишет в очередь ответов 20 20 ))) 36 +| | 21 21 22 22 1. Клиент кладет заявку в поток заявок. 23 23 1. Сервер забирает заявку из потока заявок. ... ... @@ -26,14 +26,32 @@ 26 26 1. Клиент забирает результаты из потока ответов. 27 27 28 28 В качестве промежуточного узла между клиентом и сервером может выступать [[Брокеры сообщений>>doc:Разработка.Брокеры сообщений.WebHome]]. 45 +))) 46 +|(% style="width:130px" %)Оповещение (событие)|(% style="width:1068px" %)Сервис публикующий события. 47 +Сервис читающий поток событий. 48 +|(% style="width:130px" %) |(% style="width:1068px" %) 49 +))) 29 29 30 30 ---- 31 31 32 -Вопросы 33 -1) Если несколько клиентов работают через одну очередь, то способные ли они: 34 -1.1) Получать ответы только на свои заявки, не пересекаясь с другими. 35 -1.2) Получать весь поток ответов и фильтровать его, отбирая только свои ответы. 36 -2) Вопрос скорости обработки. Успевает ли сервер обрабатывать весь поток заявок или же очередь заявок нарастает. 37 -3) Вопрос размеров очереди сообщений. 38 -))) 39 -|(% style="width:267px" %) |(% style="width:1228px" %) 53 +==== Внутренние ссылки: ==== 54 + 55 +====== Дочерние страницы: ====== 56 + 57 +{{children/}} 58 + 59 +====== Обратные ссылки: ====== 60 + 61 +{{velocity}} 62 +#set ($links = $doc.getBacklinks()) 63 +#if ($links.size() > 0) 64 + #foreach ($docname in $links) 65 + #set ($rdoc = $xwiki.getDocument($docname).getTranslatedDocument()) 66 + * [[$escapetool.xml($rdoc.fullName)]] 67 + #end 68 +#else 69 + No back links for this page! 70 +#end 71 +{{/velocity}} 72 + 73 +----