Flannel: An Application-Level Edge Cache to Make Slack Scale
May 31, 2017

Summary
Introduced Flannel, an application-level edge cache deployed at Slack's edge points-of-presence. Flannel caches relevant data (users, channels, bots) upon client startup and provides query APIs for on-demand fetching. It proactively pushes data to clients, foreseeing future requests. This architecture reduces client startup time, memory footprint, and the impact of reconnect storms by serving slimmed-down startup data and handling client queries at the edge. It uses consistent hashing for team affinity and serves 4 million simultaneous connections, handling 600K client queries per second.