Vivid

与 Remoting 的关系

依赖、地址与编解码

集群依赖 Remoting 进行节点间通信,二者关系如下。

依赖关系

  • 集群必须在启用 Remoting 的前提下才能工作。
  • 通过 WithActorSystemRemotingOptions 传入 WithActorSystemRemotingClusterOptionWithActorSystemRemotingClusterOptions 启用集群。
  • 集群使用 Remoting 的地址与编解码进行成员发现、Gossip、Join、Leave 等通信。

地址一致性

  • advertiseAddr 需与种子/成员使用的地址一致(host:port)。
  • 其他节点通过 advertiseAddr 连接本节点;种子列表中的地址应与其他节点配置的 advertiseAddr 对应。

编解码

  • 集群协议消息通过 Remoting 的 Codec 或 RegisterCustomMessage 序列化与反序列化。
  • 业务无需单独为集群消息注册;框架已注册集群协议所需的消息类型(含单例代理跨节点转发时的承载消息:发送方与业务消息的序列化)。

成员发现

  • 成员发现依赖种子与周期性 Gossip(ClusterInternalMessageForGossip);GetViewRequest 用于拉取视图(如 quorum 恢复)。
  • 可通过 SeedsResolver 动态解析种子(如 DNS、K8s),与静态 Seeds/SeedsByDC 配合使用。

配置入口

Remoting 与集群的配置均通过 Actor System 配置 完成;详见 远程通讯集群概览

On this page