Транзакции вызова используются для вызова одной или нескольких команд кластера на целевом узле. Это похоже на вызовы удаленных процедур, выполняемые для команды, определенной в кластере.
Подобно транзакциям записи, транзакции вызова поддерживают временные и неопределенные транзакции. Дополнительную информацию о временных транзакциях см. в разделе «Временные и неопределенные действия» .
Неограниченная транзакция вызова
Вызов действия запроса
Направление: Инициатор -> Цель
Подобно действию запроса на чтение и действию запроса на запись, в этом действии инициатор предоставляет цели:
- Invoke Requests : список путей к командам кластера, а также необязательные аргументы команд, называемые Command Fields .
- Временной запрос: флаг, указывающий, является ли это действие частью транзакции временного вызова.
- Подавить ответ: флаг, указывающий, следует ли подавлять действие «Вызов ответа».
- Идентификатор взаимодействия : целое число, используемое для сопоставления действия запроса вызова с действием ответа вызова.
Вызов ответного действия
Направление: Цель -> Инициатор
После того, как цель получит действие запроса на вызов, она завершит транзакцию действием ответа на вызов, которое содержит:
- Ответы на вызов : список ответов на команды или статус для каждого отправленного запроса на вызов.
- Идентификатор взаимодействия: целое число, используемое для сопоставления действия «Вызов ответа» с действием «Вызов запроса».
Ограничения на неопределенный вызов
Действие Invoke Request может быть групповым, но в этом случае должен быть установлен флаг Suppress Response . Причина в том, что в противном случае сеть может быть перегружена одновременными ответами от каждого члена группы.
Чтобы включить такое поведение, путь, используемый в списке запросов на вызов, может содержать группы или, альтернативно, они могут содержать подстановочные знаки, но только в поле Конечная точка. Более того, если действие является групповым, эта транзакция завершается без ответа.
Временные транзакции вызова
Подобно транзакциям записи по времени, транзакции вызова по времени также начинаются с действия запроса по времени.
Действие по временному запросу
Направление: Инициатор -> Цель
Инициатор запускает Транзакцию, отправляя это Действие, которое содержит:
- Таймаут : сколько миллисекунд эта транзакция может оставаться открытой. В течение этого периода следующее действие, отправленное Инициатором, будет считаться действительным.
После получения действия временного запроса цель должна подтвердить действие временного запроса с помощью действия ответа на статус. Как только инициатор получит действие ответа на статус, сообщающее об отсутствии ошибок, он отправит действие запроса на вызов.
Вызов действия запроса
То же, что и ранее описанное действие запроса вызова .
Вызов ответного действия
То же, что и ранее описанное действие Invoke Response Action .
Ограничения на вызов по времени
Все команды вызова могут быть вызваны во время временного взаимодействия. Действие временного запроса, действие запроса вызова и действие ответа вызова предназначены только для Unicast и, следовательно, не могут использоваться в качестве групповой рассылки в транзакциях временного вызова.
Действие «Вызов запроса» поддерживает использование путей с группами, а также подстановочных знаков, но действие «Вызов ответа» не поддерживает использование подстановочных знаков.
,Транзакции вызова используются для вызова одной или нескольких команд кластера на целевом узле. Это похоже на вызовы удаленных процедур, выполняемые для команды, определенной в кластере.
Подобно транзакциям записи, транзакции вызова поддерживают временные и неопределенные транзакции. Дополнительную информацию о временных транзакциях см. в разделе «Временные и неопределенные действия» .
Неопределенная транзакция вызова
Вызов действия запроса
Направление: Инициатор -> Цель
Подобно действию запроса на чтение и действию запроса на запись, в этом действии инициатор предоставляет цели:
- Invoke Requests : список путей к командам кластера, а также необязательные аргументы команд, называемые Command Fields .
- Временной запрос: флаг, указывающий, является ли это действие частью транзакции временного вызова.
- Подавить ответ: флаг, указывающий, следует ли подавлять действие «Вызов ответа».
- Идентификатор взаимодействия : целое число, используемое для сопоставления действия запроса вызова с действием ответа вызова.
Вызов ответного действия
Направление: Цель -> Инициатор
После того, как цель получит действие запроса на вызов, она завершит транзакцию действием ответа на вызов, которое содержит:
- Ответы на вызов : список ответов на команды или статус для каждого отправленного запроса на вызов.
- Идентификатор взаимодействия: целое число, используемое для сопоставления действия ответа на вызов с действием запроса на вызов.
Ограничения на неопределенный вызов
Действие Invoke Request может быть групповым, но в этом случае должен быть установлен флаг Suppress Response . Причина в том, что в противном случае сеть может быть перегружена одновременными ответами от каждого члена группы.
Чтобы включить такое поведение, путь, используемый в списке запросов на вызов, может содержать группы или, альтернативно, они могут содержать подстановочные знаки, но только в поле Конечная точка. Более того, если действие является групповым, эта транзакция завершается без ответа.
Временные транзакции вызова
Подобно транзакциям записи по времени, транзакции вызова по времени также начинаются с действия запроса по времени.
Действие по временному запросу
Направление: Инициатор -> Цель
Инициатор запускает Транзакцию, отправляя это Действие, которое содержит:
- Таймаут : сколько миллисекунд эта транзакция может оставаться открытой. В течение этого периода следующее действие, отправленное Инициатором, будет считаться действительным.
После получения действия временного запроса цель должна подтвердить действие временного запроса с помощью действия ответа на статус. Как только инициатор получит действие ответа на статус, сообщающее об отсутствии ошибок, он отправит действие запроса на вызов.
Вызов действия запроса
То же, что и ранее описанное действие запроса вызова .
Вызов ответного действия
То же, что и ранее описанное действие Invoke Response Action .
Ограничения на вызов по времени
Все команды вызова могут быть вызваны во время временного взаимодействия. Действие временного запроса, действие запроса вызова и действие ответа вызова предназначены только для Unicast и, следовательно, не могут использоваться в качестве групповой рассылки в транзакциях временного вызова.
Действие «Вызов запроса» поддерживает использование путей с группами, а также подстановочных знаков, но действие «Вызов ответа» не поддерживает использование подстановочных знаков.