Eric Florenzano describing the architecture of the newly launched Convore website:
Now a task is sent to Celery (by way of Redis) notifying it that this new message has been received. This Celery task now increments the unread count for everyone who has access to the topic that the message was posted in, and then it publishes to a Redis pub/sub for the group that the message was posted to. Finally, the task scans through the message, looking for any users that were mentioned in the message, and writes entries to the database for every mention.
On the other end of that pub/sub are the many open http requests that our users have initiated, which are waiting for any new messages or information. Those all simultaneously return the new message information, at which point they reconnect again, waiting for the next message to arrive.
Interestingly Convore’s architecture is one of a pretty classical web application for a group instant messaging solution.
Original title and link: Convore Usage of Redis Pub/Sub (NoSQL databases © myNoSQL)