Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Akka Streams running on cluster nodes

I am trying to understand the scaling part of Akka Streams I have seen various replies here, but still fail to understand how this functionality is accomplished.

There are ActorPublisher/Subscribers which from what I understand are meant to interact with the stream, but at the same time it says that these can not be remote.

How would I accomplish being able to use akka clusters toegether with streams? Do I have to let the GraphStage "outsource" its work to a remote actor? Or can the graphStage itself be run on a cluster node?

My use case is having a pipeline containing several heavy calculation stages with joins and merges and possibly some of these stages would need to be distributed.

Update
According to this Crawling the Web with Akka Streams I see that a single graph can not span several clusters. What would be the way in this case to horizontally scale?

like image 819
LK__ Avatar asked Apr 18 '16 14:04

LK__


1 Answers

akka-streams doesn't support clustering yet. I suggest look at the Apache Kafka as middleware for transport if you need some clustering solution, and reactive-kafka. But, of course, you can implement your own transport layer with actors and run it in Akka cluster.

like image 94
andrey.feoktistov Avatar answered Sep 28 '22 09:09

andrey.feoktistov