调用事务

调用事务用于在 目标节点。它类似于对已定义的命令进行的远程过程调用 集群内的 Pod

以类似的方式写入事务,调用事务支持 定时和不计时的交易。请参阅 定时操作和不定时操作 部分,了解有关定时交易的更多信息。

意外调用事务

未计时的调用事务的操作序列
图 1:未计时的调用事务

调用请求操作

方向:发起者 ->目标

与此操作中的读取请求操作和写入请求操作类似, 发起方为目标提供:

  • 调用请求:集群命令的路径列表,以及命令的可选参数(称为命令字段)。
  • 定时请求:一个标记,指示此操作是否属于 Timed 调用事务。
  • 抑制响应:一个标记,指示调用响应操作 。
  • 互动 ID:一个整数,用于将“Invoke Request”Action 与“Invoke Response”Action 进行匹配。

调用响应操作

方向:目标 -> 发起者

目标收到调用请求操作后,将完成 具有包含以下内容的调用响应操作的事务:

  • 调用响应:每次调用的命令响应或状态列表 请求已发送。
  • 互动 ID:一个整数,用于将调用响应操作与 调用请求操作

非定时调用限制

调用请求操作可以是群发,但在这种情况下,必须设置抑制响应标志。原因是网络可能 会淹没在群组中每个成员同时进行的回复中。

要启用此行为,“调用请求”列表中所用的路径可能包含 群组,或者它们可以包含通配符,但仅限于 Endpoint 字段。此外,如果 Action 是群发,此事务会终止且不返回任何响应。

定时调用事务

与定时写入事务类似,定时调用事务也会启动 与 Timed Request Action 相关的事件。

定时调用事务的操作序列
图 2:定时调用事务

定时请求操作

方向:发起者 ->目标

发起者发送此 Action 来启动事务,其中包含:

  • 超时:此事务可能保持打开状态的毫秒数。中 在此期间发起者发送的下一个操作将被视为有效。

收到定时请求操作后,目标必须确认 带有状态响应操作的定时请求操作。发起方收到 状态响应操作报告无错误,它将发送调用请求 行动。

调用请求操作

与前面描述的调用请求操作相同。

调用响应操作

与前面介绍的调用响应操作相同。

定时调用限制

所有调用命令都可以对定时互动进行调用。定时请求操作、调用请求操作和调用响应操作仅适用于 Unicast,因此无法在定时调用事务中用作群播。

“调用请求操作”支持在路径中使用组,以及 通配符,但是调用响应操作不支持使用通配符。