我有一個關于使用 Akka Streams 和 Akka Cluster 的問題。我正在嘗試使用 Akka Streams 和 Akka Cluster 制作分布式字數統計版本。我想構建一個 Akka Streams 客戶端,它讀取文本文件作為流 I/O 并將單詞流發送到遠程集群。這是客戶端的代碼: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 Streams 的基礎(背壓等)。我知道 Stream refs 和 Cluster Client 的存在,但我不明白要使用它們中的哪一個。
2 回答

HUH函數
TA貢獻1836條經驗 獲得超4個贊
我認為您正在尋找的內容目前不存在。然而,有一個類似的東西叫做streamRefs
它允許你在網絡上擁有反應流??纯催@里:https : //doc.akka.io/docs/akka/2.5/stream/stream-refs.html

Qyouu
TA貢獻1786條經驗 獲得超11個贊
直接回答
我認為您正在尋找的功能在 version 中不可用2.5.18
。該集群功能庫存不相關的流表什么。
間接回答
您的用例的計算要求必須相當極端,才能證明akka-stream
跨越多個服務器的合理性。鑒于現代處理器的核心數量激增,單個服務器中可用的并行量相當大。因此,流中的每個計算步驟都必須需要大量的處理器資源來證明跨越網絡的流是合理的。
如果您真的在從事如此大的項目,那么像apache spark這樣的工具可能會更好地滿足您的需求。
添加回答
舉報
0/150
提交
取消