У меня есть вопрос об использовании Akka Streams и Akka Cluster. Я пытаюсь сделать версию распределенного подсчета слов, используя Akka Streams и Akka Cluster.
Я хотел бы создать клиент Akka Streams, который считывает текстовый файл как потоковый ввод-вывод и отправляет поток слов в удаленный кластер. Это код клиента:
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, но не понимаю, какой из них использовать.