Hi, we are building a message processing system, which is basically looks like a classic chat room:
~ 1 million devices are connected via websockets to a dozen of nodes
- each of them subscribes on a number of topics
- each of them publishes updates to the topics, and we should deliver these updates to subscribed devices
The problem is, a number of topics is huge, like x100 times more than a number of devices.
Right now we are using Redis to store device-to-subscription and device-to-node relations.
On each topic update, we are looking in cache to find all devices to notify and node addresses, where these devices are connected at the moment.
We are not using Akka Cluster yet, but looks like it's Pub/Sub functionality perfectly matches with our case and we can get rid of our logic and cache.
The only question, is it capable to manage tens of millions of topics? Would it perform better then our current solution?