This thread tracks the evolution of Slack's message storage capabilities, focusing on scaling and performance improvements. Initial posts detailed the challenges of handling massive message volumes and the need for a more robust storage solution. This post details the technical work involved in migrating the core messages table to a Vitess cluster, a distributed MySQL sharding solution, to improve scalability for large customers. It covers the end-to-end process, from message sending to persistence, and the migration from an active-active MySQL configuration to Vitess, which now serves 99% of Slack's query load and handles 2.3 million QPS at peak with a median latency of 2ms.
All Slack trails