Support high availability
It would be great if the Mattermost server was highly available, so that a server going down did not impact availability. I believe this can be done by using Postgres LISTEN/NOTIFY to broadcast messages to clients connected to other servers.
High availability support now available in E20 for enterprises: https://docs.mattermost.com/deployment/cluster.html
-
Derrick Wippler commented
I'm currently prototyping rethinkdb for this use case, It supports listening to change feeds, and should scale to much larger clusters than is possible with mysql or postgresql. Possible blockers include race conditions on create and transaction support. Currently mattermost only really needs transactions when creating direct channels, and I think I can overcome this limitation by employing the 'Two Phase Commit" pattern.