Distributed Event Network design pattern?

98 views
Skip to first unread message

Glenn / devalias

unread,
Aug 13, 2014, 7:07:15 PM8/13/14
to akka...@googlegroups.com
Heya,

I was wondering if someone on the list might be able to help me out. Trying to figure out what the best 'design pattern' would be to approach the following (and with my currently limited akka knowledge it'd bending my mind a little :p) :

* A 'container' (actor system?). Initially there will be one, but this concept will likely expand to multiple disparate containers, not necessarily controlled by the same person (so secret cookie stuff wouldn't be useful between them)
* Inside the container there are unique nodes (actors?). Each node needs to be addressable directly (routed from it's container?), but will handle entirely different things.
* Ideally the nodes will be able to be communicated with directly (actor selection or akka http?)
* For each node, there should be a guardian/receptionist as the single 'channel of contact'. This will consume the messages, check any required auth, and then send them into a protected internal system (second actor system running inside the guardian actor? or is there a better pattern?) I don't think there is a need for the internal 'protected' actors to reply directly (as they could just send a new fire/forget event to the guardian on the other node), but if they wanted to, how would that fit in with the 'guardian' pattern?

Essentially i'm trying to conceptualise a distributed event network, where any node is capable of sending events to any other node, and each node can process those received events as it deems necessary (or ignore them if it so chooses)

Also, does akka support a 'distributed' Pub/Sub (across disparate actor systems), or does it only work locally to a single actor system?

As an aside, are there any good books/sites that have a bunch of different akka design patterns? (aside from the ones scattered through the docs/etc)

Thanks heaps!!

- Glenn / devalias

Greg Flanagan

unread,
Aug 13, 2014, 10:46:07 PM8/13/14
to akka...@googlegroups.com
I'm not qualified to address your questions directly but I find a good place to start when looking for akka patterns is the typesafe activator. Here is one on a clustered subpub. might be interesting for you.

Patrik Nordwall

unread,
Aug 15, 2014, 3:27:31 AM8/15/14
to akka...@googlegroups.com
Some pointers into the documentation...


On Thu, Aug 14, 2014 at 4:46 AM, Greg Flanagan <vent...@gmail.com> wrote:
I'm not qualified to address your questions directly but I find a good place to start when looking for akka patterns is the typesafe activator. Here is one on a clustered subpub. might be interesting for you.

On Wednesday, August 13, 2014 4:07:15 PM UTC-7, Glenn / devalias wrote:
Heya,

I was wondering if someone on the list might be able to help me out. Trying to figure out what the best 'design pattern' would be to approach the following (and with my currently limited akka knowledge it'd bending my mind a little :p) :

* A 'container' (actor system?). Initially there will be one, but this concept will likely expand to multiple disparate containers, not necessarily controlled by the same person (so secret cookie stuff wouldn't be useful between them)

 
* Inside the container there are unique nodes (actors?). Each node needs to be addressable directly (routed from it's container?), but will handle entirely different things.
* Ideally the nodes will be able to be communicated with directly (actor selection or akka http?)
* For each node, there should be a guardian/receptionist as the single 'channel of contact'. This will consume the messages, check any required auth, and then send them into a protected internal system (second actor system running inside the guardian actor? or is there a better pattern?) I don't think there is a need for the internal 'protected' actors to reply directly (as they could just send a new fire/forget event to the guardian on the other node), but if they wanted to, how would that fit in with the 'guardian' pattern?

 

Essentially i'm trying to conceptualise a distributed event network, where any node is capable of sending events to any other node, and each node can process those received events as it deems necessary (or ignore them if it so chooses)

Also, does akka support a 'distributed' Pub/Sub (across disparate actor systems), or does it only work locally to a single actor system?

 

As an aside, are there any good books/sites that have a bunch of different akka design patterns? (aside from the ones scattered through the docs/etc)


Thanks heaps!!

- Glenn / devalias

--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com.
To post to this group, send email to akka...@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.



--

Patrik Nordwall
Typesafe Reactive apps on the JVM
Twitter: @patriknw

Glenn Grant

unread,
Aug 17, 2014, 7:04:51 PM8/17/14
to akka...@googlegroups.com
Thanks for the pointers Patrik. Already read through most of them before, but the distributed pub/sub one was new to me :)

I'm thinking as always there isn't necessarily going to be an 'easy solution', just read the docs and play around to see what works best :p

Cheers

- Glenn / devalias

Cheers,

Glenn 'devalias' Grant

White Label Personal Clouds / Welcomer
___________________________________________________


You received this message because you are subscribed to a topic in the Google Groups "Akka User List" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/akka-user/tEVpMg0xJlg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to akka-user+...@googlegroups.com.

Patrik Nordwall

unread,
Aug 18, 2014, 2:43:19 AM8/18/14
to akka...@googlegroups.com
On Mon, Aug 18, 2014 at 1:04 AM, Glenn Grant <gl...@welcomer.me> wrote:
Thanks for the pointers Patrik. Already read through most of them before, but the distributed pub/sub one was new to me :)

I'm thinking as always there isn't necessarily going to be an 'easy solution', just read the docs and play around to see what works best :p

Sounds like a great plan!
Cheers,
Patrik
Reply all
Reply to author
Forward
0 new messages