Thread:Talk:Echo (Notifications)/Registration with central service/reply (8)

Now that I've thought about it for a while, I'm beginning to question if notifications even need to be stored in the database. Notification data isn't critical information where, if lost due to a memcached outage, will cause significant inconveniences to users. And unless we plan on archiving read messages for prolonged periods of time (which probably isn't a good idea anyway), there's no need for long-term storage.

With that in mind, I'm thinking do the following: implement a Queue class with various backends (Active/Redis/Zero as you mentioned). Then have a backup backend for Queue that uses $wgMemc. This is for those wikis who don't have (and don't want) a separate queue software and would rather stick with their current solution.

From there, we'd have classes for the Notification Service, Events, and Vectors. Single wikis would use a Service object that does all local queries, and multi-wikis would use a Service object that queries an entry point on the primary wiki (notify.php?).