Pub-Sub Feature in Dice db
Hi @arpitbbhayani @JyotinderSingh, I basically know the approach which is used in redis to implement pub sub feature. I wanted to contribute to dice db by implementing pub sub as a feature.
Please reply to this conversation so that we can discuss further.
My LinkedIn profile : https://www.linkedin.com/in/rohan-naik07/
Glad to see you interested in this feature @rohan-naik07! Would be great if you can kick off this discussion on our discord channel, we can talk about the design and implementation details there.
https://discord.gg/6r8uXWtXh7
Sure! Will post the design and analysis on the channel soon so that we can begin the discussion
@rohan-naik07 I am interested in collaborating on this
@rohan-naik07 are you working on this ? i am interested too. thanks
Ok... I have kicked off the discussion on discord server. You can share your insights. Will start working on prototype soon. @JyotinderSingh can we create a seperate channel for discussion regarding this?
Hi @arpitbbhayani @JyotinderSingh , I have prepared the first draft of the document describing the pub sub feature design and architecture. I have also started to implement a prototype and soon will post further updates once you are free to go through this. Please share your insights accordingly. Attaching the link of the doc below. https://docs.google.com/document/d/1VsWePFuCsDoJ2PZIBdVSMKWtsZ4u5i2ndmdO6qJ0K78/edit?usp=sharing
Hi @rohan-naik07 I would also like to contribute. Here is my LinkedIn profile - https://www.linkedin.com/in/harshit-singhal-975456171/
@rohan-naik07 Will this be supported in cultured and multi threaded setups? Currently redis has limitations with clustered setups.
Here we arrive at two scenarios which we can consider Multithreading - DiceDB is multithreaded server which make use of threads called shards to concurrently serve client requests. Similarly read write of messages in the pub/sub feature are multisharded using special commands made for sharded pub sub requests,similar to redis. Cluster setup : the cluster management feature is listed in dicedb's roadmap (See docs). I am also looking into some insights of how Apache Kafka manages clusters which can help in our clustered pub/sub approach.