Изменения документа Синхронное и асинхронное взаимодействие
Редактировал(а) Alexandr Fokin 2024/06/12 15:47
<
>
отредактировано Alexandr Fokin
на 2023/01/23 22:55
на 2023/01/23 22:55
отредактировано Alexandr Fokin
на 2024/06/12 15:44
на 2024/06/12 15:44
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Название
-
... ... @@ -1,1 +1,1 @@ 1 - КонвеериЗапрос-Ответ1 +Синхронное и асинхронное взаимодействие - Содержимое
-
... ... @@ -1,21 +1,39 @@ 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 + 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" %)((( 7 7 |(% style="width:128px" %) |(% style="width:338px" %)((( 8 -1. потокзаявок9 -1. потокответов25 +1. очередь команд 26 +1. очередь ответов 10 10 ))) 11 11 |(% style="width:128px" %)Клиент|(% style="width:338px" %)((( 12 -* Пишет в потокзаявок13 -* Читает потокответов29 +* Пишет в очередь команд 30 +* Читает очередь ответов 14 14 ))) 15 15 |(% style="width:128px" %)Сервер|(% style="width:338px" %)((( 16 -* Читает потокзаявок17 -* Пишет в потокответов33 +* Читает очередь команд 34 +* Пишет в очередь ответов 18 18 ))) 36 +| | 19 19 20 20 1. Клиент кладет заявку в поток заявок. 21 21 1. Сервер забирает заявку из потока заявок. ... ... @@ -23,16 +23,33 @@ 23 23 1. Сервер кладет результат обработки в поток ответов. 24 24 1. Клиент забирает результаты из потока ответов. 25 25 26 - 27 27 В качестве промежуточного узла между клиентом и сервером может выступать [[Брокеры сообщений>>doc:Разработка.Брокеры сообщений.WebHome]]. 45 +))) 46 +|(% style="width:130px" %)Оповещение (событие)|(% style="width:1068px" %)Сервис публикующий события. 47 +Сервис читающий поток событий. 48 +|(% style="width:130px" %) |(% style="width:1068px" %) 49 +))) 28 28 29 29 ---- 30 30 31 -Вопросы 32 -1) Если несколько клиентов работают через один поток, то способные ли они 33 -1.1) Получать ответы только на свои заявки, не пересекаясь с другими 34 -1.2) Получать весь поток ответов и фильтровать, отбирая только свои ответы 35 -2) Вопрос скорости обработки. Успевает ли сервер обрабатывать весь поток заявок или же очередь заявок нарастает. 36 -3) Вопрос размеров очереди сообщений. 37 -))) 38 -|(% style="width:179px" %) |(% style="width:1316px" %) 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 +----