15.5 Работа с дубликатами запросов RPC

15.5 Работа с дубликатами запросов RPC

Если служба основана на протоколе TCP, запросы и ответы будут доставляться надежно. TCP берет на себя обеспечение целостности доставляемых данных.

Если RPC базируется на UDP, то, в зависимости от требований конкретного приложения, клиент и сервер должны обеспечить собственный тайм-аут, повторную пересылку и стратегию выделения дублированных сообщений. Разработчик приложения может выбрать для клиента любую из следующих стратегий:

? Если в пределах тайм-аута не будет получен ответ, послать сообщение об ошибке конечному пользователю, который и должен снова инициировать запрос к службе.

? Если в пределах тайм-аута не будет получен ответ, отправить запрос еще раз. Повторять эту операцию до тех пор, пока не будет получен ответ или не будет достигнут максимальный предел повторной пересылки.

Если клиент повторно посылает запрос, разработчик должен реализовать на сервере стратегию обработки дубликатов сообщений. Сервер может:

? Не фиксировать ранее выполненные операции. При поступлении запроса выполнить процедуру, даже если это был дубликат запроса. Отметим, что для некоторых процедур (например, чтение набора байт из файла) в этом нет ничего страшного. Конечно, клиент может и дальше получать двойные ответы, но может и блокировать их, отслеживая ранее выполненные транзакции.

? Хранить копии ответов, которые были отправлены в течение нескольких последних минут. При поступлении запроса с тем же операционным идентификатором сервер уже знает, что процедура выполнена и на нее уже был послан ответ, следовательно, он мог бы отослать назад копию исходного ответа. Если сервер выполняет затребованную процедуру в момент поступления дубликата запроса — он должен отбросить повторный запрос.

Каждое приложение клиент/сервер может выбрать стратегию соединения, наиболее подходящую своим конкретным требованиям.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Количество DNS-запросов

Из книги Разгони свой сайт автора Мациевский Николай

Количество DNS-запросов Система DNS устанавливает соответствие имен хостов их IP-адресам, точно так же как телефонный справочник позволяет узнать номер человека по его имени. Когда вы набираете «www.yahoo.com» в адресной строке браузера, преобразователь DNS, к которому обратился


Множество с дубликатами (Multiset)

Из книги Руководство по стандартной библиотеке шаблонов (STL) автора Ли Менг

Множество с дубликатами (Multiset) multiset - это ассоциативный контейнер, который поддерживает равные ключи (возможно, содержит множественные копии того же самого значения ключа) и обеспечивает быстрый поиск ключей.template ‹class Key, class Compare = less‹Key›, template ‹class U› class Allocator = allocator›class


Словарь с дубликатами (Multimар)

Из книги Компьютер на 100. Начинаем с Windows Vista автора Зозуля Юрий

Словарь с дубликатами (Multimар) multimар - ассоциативный контейнер, который поддерживает равные ключи (возможно, содержит множественные копии того же самого значения ключа) и обеспечивает быстрый поиск значений другого типа T, связанных с ключами.template ‹class Key, class T, class Compare =


Работа с конструктором запросов

Из книги Обработка баз данных на Visual Basic®.NET автора Мак-Манус Джеффри П

Работа с конструктором запросов Широкие возможности для создания запросов имеет конструктор запросов, в котором можно задавать условия отбора по отдельным полям, определять способ сортировки результатов и создавать вычисляемые поля. Для знакомства с конструктором


Практическая работа 57. Построение запросов

Из книги Основы информатики: Учебник для вузов автора Малинина Лариса Александровна

Практическая работа 57. Построение запросов Задание. В созданной в предыдущем уроке базе данных Taxi2008 постройте запросы в соответствии с приведенными в этом уроке примерами 1-4.Задание для самостоятельного выполненияПостройте запросы, позволяющие определить клиентов,


Создание запросов TOP PERCENT

Из книги Интернет – легко и просто! автора Александров Егор

Создание запросов TOP PERCENT Можно писать запросы, возвращающие записи, количество которых определяется заданным процентом от общего количества записей в таблице. Например, если у вас есть таблица с 1000 записей и необходимо возвратить один процент первых записей, то, как


12.8. Работа с данными при помощи запросов

Из книги Яндекс для всех автора Абрамзон М. Г.

12.8. Работа с данными при помощи запросов В режиме таблицы доступны самые разные операции с данными – просмотр, сортировка, фильтрация, обновление и печать. Однако очень часто приходится проводить вычисления или просматривать данные из нескольких таблиц. Отобрать нужные


Формирование запросов

Из книги Интернет для ваших родителей автора Щербина Александр

Формирование запросов Если вы не хотите углубляться в детали техники поиска, то можете просто задать поисковой машине вопрос так же, как задали бы его человеку, у которого хотите получить совет. Например, «как быстро похудеть», «есть ли жизнь на Марсе», «где раки зимуют»


1.3.3. Язык запросов

Из книги MySQL 5.0. Библиотека программиста автора Гольцман Виктор Иосифович

1.3.3. Язык запросов Для того чтобы Яндекс корректно понимал запросы, состоящие из нескольких слов, был разработан специальный язык запросов. Отдельные его элементы мы уже рассмотрели — это и специальные символы, используемые в обычном поиске, и дополнительные параметры,


10.1.3. Язык запросов

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

10.1.3. Язык запросов Язык запросов, используемый в Яndex.Server, в полной мере соответствует языку запросов, с которым работает поисковая система Яндекс. Поэтому все, что можно использовать для поиска в Интернете, новостях, среди картинок, поддерживается и в версии программы,


Язык запросов

Из книги Access 2002: Самоучитель автора Дубнов Павел Юрьевич

Язык запросов Для более профессионального поиска существует специальный язык запросов. Рассмотрим использование этого языка на примере поиска слов песни «Яблоки на снегу». Ничего личного! Я не предлагаю вам петь эту песню. Ну, случайно пришла на ум. Можете потом поискать


6.2. Оптимизация запросов

Из книги Как сделать свой сайт и заработать на нем. Практическое пособие для начинающих по заработку в Интернете автора Мухутдинов Евгений

6.2. Оптимизация запросов Основным способом повышения производительности запросов являются индексы. Определить, действительно ли созданные вами индексы используются запросом, позволяет командаEXPLAIN <Текст запроса>; Набор данных, выводимый командой EXPLAIN, содержит


Планы запросов

Из книги Разработка ядра Linux автора Лав Роберт

Планы запросов Перед выполнением запроса комплект программ подготовки - известный как оптимизатор- начинает анализировать столбцы и операции запроса для вычислен? самого быстрого способа выполнения. Подготовка начинается с просмотра индексов таблицы и используемых


Типы запросов

Из книги автора

Типы запросов Запрос SQL – это запрос, создаваемый при помощи инструкций SQL [15] .Запросы являются основным средством просмотра, изменения и анализа информации, которая содержится в одной или в нескольких таблицах базы данных. В этой главе, а также в главах 10 и 12,


Очереди запросов

Из книги автора

Очереди запросов Для блочных устройств поддерживаются очереди запросов (request queue), в которых хранятся ожидающие запросы на выполнение операций блочного ввода-вывода. Очередь запросов представляется с помощью структуры request_queue, которая определена в файле <linux/blkdev.h>.