【发布时间】:2023-03-16 10:25:01
【问题描述】:
Akka 文档谈到了各种看似相互关联的 Akka 技术,但并未对它们进行太多区分:
- Akka 网络
- Akka 远程处理
- Akka 聚类
- Akka ZeroMQ 模块
我的理解是“Akka Networking”只是一个模块/库,它使 Akka 能够通过 TCP 与远程参与者系统对话。 Akka Remoting 是另一个模块/lib(不包含在核心 Akka JAR 中),它使 Akka 可以使用 Gossip 协议。 Akka Clustering 是另一个模块/lib,它使用这些 Gossip 协议允许远程参与者系统聚集在一起,并以病毒/“服务发现”式的方式共享状态变化。我对 Akka ZeroMQ 的理解是它完成了与 Akka Clustering 相同的事情,除了使用 ZeroMQ 作为网络连接和协议的基础(而不是 Gossip)。
首先,如果我对这些不同模块/库的理解不正确,请先纠正我!
假设我在这里或多或少地达到目标,那么我主要担心的是我可能有远程 Actor System 1 (RAS1) 使用 Akka Clustering(以及因此 Gossip)尝试与 Remote Actor System 2 (RAS2) 通信使用 Akka ZeroMQ。在这种情况下,我们使用了两种完全不同的集群技术和协议,这是否意味着这两个远程系统无法相互通信,或者是否需要特别小心,以便它们互相兼容吗?
【问题讨论】:
标签: akka zeromq distributed-computing