Discord: A case study in performance optimization
L’article explique comment Discord s’appuie sur le modèle des acteurs pour éviter les verrous et maintenir des performances élevées à l’échelle mondiale. Chaque guilde dispose d’un processus Elixir agissant comme routeur et les mises à jour sont fan-outées vers les sessions des utilisateurs via WebSocket. Pour augmenter le débit, l’équipe a introduit le Data Service Library en Rust pour coalescer les requêtes et réduire le nombre d’accès à la base de données. Elle a aussi remplacé Cassandra par ScyllaDB pour mieux gérer les partitions et a développé le disque Super-Disk pour obtenir à la fois vitesse et fiabilité sur GCP. Enfin, l’article insiste sur l’importance d’une culture d’excellence technique et sur l’apprentissage par l’expérimentation, plutôt que sur de simples refontes, pour livrer une plateforme rapide et fiable.