调用事务 用于对目标节点调用一个或多个集群命令。它类似于对集群中定义的命令进行的远程过程调用。
与写入事务类似,调用事务支持定时事务和非定时事务。如需详细了解定时事务,请参阅 定时和非定时操作 部分。
非定时调用事务
调用请求操作
方向:发起者 -> 目标
与读取请求操作和写入请求操作类似,在此操作中,发起者会向目标提供以下内容:
- 调用请求:集群命令的路径 列表,以及命令的可选参数,名为 命令字段。
- 定时请求:一个标志,用于指明此操作是否属于定时调用事务。
- 禁止响应:一个标志,用于指明是否应禁止调用响应操作。
- 互动 ID:一个整数,用于将调用请求操作与 调用响应操作进行匹配。
调用响应操作
方向:目标 -> 发起者
目标收到调用请求操作后,将使用调用响应操作完成事务,该操作包含:
- 调用响应:针对发送的每个调用 请求的命令响应或状态列表。
- 互动 ID:一个整数,用于将调用响应操作与调用请求操作进行匹配。
非定时调用限制
调用请求操作可能是群播,但在此情况下,必须设置禁止响应 标志。原因是,否则网络可能会被来自群组中每个成员的同时响应淹没。
如需启用此行为,调用请求列表中使用的路径可能包含群组,或者它们可能包含通配符,但仅限于 Endpoint 字段。此外,如果操作是群播,此事务将终止,且不会有响应。
定时调用事务
与定时写入事务类似,定时调用事务也以定时请求操作开头。
定时请求操作
方向:发起者 -> 目标
发起者会发送包含以下内容的操作来启动事务:
- 超时:此事务可能保持打开状态的毫秒数。在此期间,发起者发送的下一个操作将被视为有效。
收到定时请求操作后,目标必须使用状态响应操作确认定时请求操作。发起者收到报告没有错误的状态响应操作后,将发送调用请求操作。
调用请求操作
与前面介绍的调用请求操作相同。
调用响应操作
与前面介绍的调用响应操作相同。
定时调用限制
所有调用命令都可以在定时互动中调用。定时请求 操作、调用请求操作和调用响应操作仅为 Unicast-,因此不能在定时 调用事务中用作群播。
调用请求操作支持使用包含群组的路径以及通配符,但调用响应操作不支持使用通配符。