Akka聚类功能的替代方案[已关闭]

iibxawm4  于 2022-11-06  发布在  其他
关注(0)|答案(2)|浏览(136)

已关闭。此问题为opinion-based。当前不接受答案。
**想要改进此问题吗?**请更新问题,以便editing this post可以用事实与引用来回答.

去年关闭了。
Improve this question
Akka Cluster有哪些可用的替代产品?目前看来,要实现分布式应用程序(意味着能够维护集群信息,以便能够在节点之间分配工作负载,从而有效利用资源),Akka-Cluster是唯一的选择。我看到有一些可用于Akka的替代产品,如Erlang,但没有Akka-Cluster。
有人知道还有哪些技术可以提供在集群节点上分配工作负载的方法吗?

zaq34kh6

zaq34kh61#

在JVM上,我认为您可以将分布式计算大致分为几个类别。

  • 如果您需要分布式状态,可以使用Hazelcast(内存中的网格)之类的工具,但是您需要自己组织处理数据的任务。
  • 如果你想要分布式任务执行,Flink和Spark可以做到。协调状态变化可能很困难,你可能不得不将输入扭曲到它们的基本抽象(RDD和流)中。
  • 复制日志之上的Pubsub(如Kafka和Pulsar)与Akka一样,是显式基于消息的(实际上,分布式计算中的任何东西都是基于消息的:在某个点上,您有数据包通过线路传输),但您可以非常快地建立一个服务和主题的混乱。

据我所知,Akka是涵盖状态分布和任务分布的唯一(或者至少是最成熟的)选项,而且它在这方面的静态性稍差(就可伸缩性而言:在IDE中,与通过Kafka进行交互的服务的混乱相比,交互的参与者的混乱(特别是在优先使用类型化API而不是经典API的情况下)可能更容易跟踪。
为了注入一点意见,虽然Kafka是,在我的经验,使用它作为一个哑巴管道,坚如磐石,我不是一个球迷的倾向,我观察到,其主要供应商在分布式计算领域的过度承诺,而我发现 akka 的主要供应商是相当坦率地说,没有银。

x9ybnkn6

x9ybnkn62#

您可能会说,在某些用例中,Apache Kafka是Akka Cluster的替代方案。
Kafka本身就像一个代理集群,你的Kafka主题在这个集群中被划分和分布,你可以用多个消费者来阅读你的主题,这将是你的计算分布的工具。

相关问题