On Mon, Sep 1, 2014 at 2:27 AM, Byung-Wan Lim <[email protected]> wrote:

> AKKA is really Awesome! framework! wonderful!
> I'm recently learning AKKA-scala in depth.
> Among the AKKA functionalities, "DistributedPubSubExtension" seems to very
> good for me because I'm designing scalable chat server system.
> But I have some question about DistributedPubSubExtension when using it
> for huge number of topics(chat-room) that dynamically created, subscribed
> published, unsubscribed in real time by huge number of chat users.
>

If you model each user as an actor the number of users should have a low
impact on the scalability of the pub-sub. It is the ActorRef of the
chat-room topic that is replicated with gossip to other nodes by the
DistributedPubSubExtension. You have to test how many topics that can be
used. How much is a "huge number"?


> DistributedPubSubExtension seems to use gossip protocol to share remote
> ActorRefs(publishers, subscribers) among AKKA cluster nodes.
> With gossip-interval config. option, we can set gossip message time
> interval.
> I'm concerned about network overhead and computing performance for sharing
> topic membership data with gossip message(in every-seconds) for the case of
> huge number of topics on large cluster(e.g 100+ nodes) and huge number of
> dynamic change of pub-sub member ship status by huge number of chat users..
>

It is the changes of topics (not actual subscribers) that is disseminated
with gossip. It transfers deltas in an efficient way. We have not performed
any large scalability tests of this. Let us know what you find out.

Another thing, when you publish a message to a topic, it is transferred
over the wire *once* to each node that has any subscribers, and then the
message is delivered to the local subscribers.

Regards,
Patrik


>
> I'm thinking on two plan for implementing scalable chat server using AKKA.
> 1. using DistributedPubSubExtension
> 2. user-chatroom membership data is retrieved from DB and find peer user
> session actors and send messages by "ActorSelection"
>
> (for case 1, user-chatroom membership data is also stored in backend DB)
>
> Please give me some guide :D
>
>
>  --
> >>>>>>>>>> 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 [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/akka-user.
> For more options, visit https://groups.google.com/d/optout.
>



-- 

Patrik Nordwall
Typesafe <http://typesafe.com/> -  Reactive apps on the JVM
Twitter: @patriknw

-- 
>>>>>>>>>>      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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to