首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Akka Streams + Akka集群

Akka Streams + Akka集群
EN

Stack Overflow用户
提问于 2018-11-10 23:43:16
回答 2查看 481关注 0票数 2

我有一个关于使用Akka Streams和Akka集群的问题。我正在尝试做一个使用Akka Streams和Akka Cluster的分布式字数统计版本。

我想构建一个Akka Streams客户端,它将文本文件作为流I/O读取,并将单词流发送到远程集群。这是客户端的代码:

代码语言:javascript
运行
复制
final Path file = Paths.get("example.txt");
final Source<ByteString, CompletionStage<IOResult>> read = FileIO.fromPath(file);

final Source<Pair<String, Integer>, CompletionStage<IOResult>> counts =
  read
    .via(Framing.delimiter(ByteString.fromString(" "), 256, FramingTruncation.ALLOW))
    .map(i -> i.utf8String())
    .runWith(/* send to Akka cluster */);

我不明白我必须使用什么才能在不丢失Akka流的基础(背压等)的情况下将流数据发送到Akka集群。

我知道Stream refs和Cluster Client的存在,但我不知道该使用哪一个。

EN

回答 2

Stack Overflow用户

发布于 2018-11-11 21:31:54

直接应答

我不认为你正在寻找的功能在2.5.18版本中是可用的。inventory of cluster functionality不会列出任何与流相关的内容。

间接回答

您的用例的计算需求必须相当极端,才能证明跨越多个服务器的akka-stream是合理的。考虑到现代处理器上核心数量的爆炸性增长,单个服务器中可用的并行度是相当大的。因此,流中的每一步计算都必须需要大量的处理器资源,才能证明跨越网络的流是合理的。

如果您真的在处理这样一个大型项目,那么像apache spark这样的工具可能更适合您的需求。

票数 0
EN

Stack Overflow用户

发布于 2018-11-12 08:11:23

我不认为你目前正在寻找的东西是存在的。然而,有一个类似的东西叫做streamRefs,它允许你在网络上有反应式的流。看看这里:https://doc.akka.io/docs/akka/2.5/stream/stream-refs.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53240558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档