Le besoin : absorber un flux soutenu
Une plateforme de métriques doit absorber les écritures, conserver les données utiles et servir les lectures sans concentrer toute la charge sur une instance. Le dimensionnement part du débit d’ingestion, de la taille des documents, des pointes, de la rétention et des requêtes réellement attendues.
L’architecture : distribuer et répliquer
Le sharding répartit les données entre plusieurs shards. Chaque shard est un replica set : son primaire reçoit les écritures et ses secondaires répliquent les données pour permettre une élection en cas de défaillance. Les serveurs de configuration forment leur propre replica set et conservent les métadonnées du cluster. Les membres sont répartis en tenant compte des domaines de panne et du quorum.
Des routeurs mongos redondants
Les applications accèdent au cluster via plusieurs processus mongos. Ces routeurs dirigent les opérations vers les shards concernés ; ils ne stockent pas les métriques et ne constituent pas eux-mêmes un replica set. La configuration des clients permet d’utiliser plusieurs routeurs et de gérer les reconnexions. Les bascules des shards et la perte d’un routeur sont testées séparément.
Choisir la clé de sharding à partir des usages
La clé doit distribuer les écritures et permettre de cibler les lectures. Une valeur temporelle strictement croissante utilisée seule peut concentrer les nouvelles écritures sur une seule plage. Cardinalité, répartition par source, éventuel hachage et filtres des requêtes sont évalués avec des données représentatives. Une bonne distribution à l’ingestion ne garantit pas des lectures efficaces.
Tenir la charge dans la durée
Les index, les écritures par lots, la rétention et le débit disque influencent autant la capacité que le nombre de nœuds. La supervision suit latences, files d’attente, retard de réplication, fenêtre d’oplog et équilibre entre shards. Le write concern est choisi selon la durabilité attendue ; les sauvegardes et restaurations couvrent le cluster de manière cohérente. Les performances sont validées par des essais de charge, pas par la seule présence du sharding.
Points clés
- Sharding et clé de partitionnement
- Replica sets et quorum
- Routeurs mongos redondants
- Ingestion, rétention et observabilité