繁体   English   中英

AKKA远程演员是否可以在p2p swarm环境中使用?

[英]Could AKKA remoted actors be a used in a p2p swarm context?

我见过的Akka演员的大部分用例都是高性能的多核服务器或本地集群。

我很好奇它适用于更远程的高延迟高度失败的群体结构,如p2p网络。

我想到的应用程序将有关于群集节点的可信性和/或资源丰富性的规则,给予它们一些状态,就像bittorrent一样。 它还需要能够尽可能地在整个群体中传播交易,但最终或部分一致性是可以接受的 可伸缩性比一致性更重要。

AKKA是建立这样的东西的潜在解决方案吗? 它会比其他方法有任何特定的优点或缺点

在这种情况下使用Akka的主要问题是Actor系统没有适合于这种分散式分布式计算的适当的可成对的成员资格管理系统。

您需要一些可以处理您在场景中描述的节点流失的东西。 特别是,您需要能够监视节点何时加入,离开以及由于故障而被假定为死机和断开连接的东西。 我建议使用基于八卦的注册表来查看Ibis: http//www.cs.vu.nl/ibis/ 您仍然需要一个众所周知的引导节点来启动系统,但是,当使用基于Gossip的注册表时,Ibis使用的Join,Elect,Leave模型将提供您正在寻找的可扩展性。 该系统在某种程度上类似于Akka actor,因为它基于上行或下行调用系统以及传递消息的单向管道。 一旦你得到它的Fu,很容易编程分布的东西。

就最终一致性而言,这是在如此大的分布式环境中已知的难题。 我需要了解更多关于您要分发的交易类型以及在那里提出更多建议所需的一致性和历史保存级别。 最近的一些论文已经证明,尽管在这样一个充满敌意的环境中,你能想到的最好的是fork-causal-consistency,至少每个人都可以看到历史已经分叉,如果没有确定“获胜”的分叉,没有其他一些分叉解决机制。

比特币在这个领域是一个有趣的例子,其中“获胜”由最长链决定,但在这个领域还有其他解决方案可能会或可能不会取决于应用程序语义。 您的问题有点过于含糊,无法在如此庞大的设计空间中提出具体建议。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM