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.
