【Préface】
Lorsque les données atteignent une certaine quantité, la base de données devient le goulot d’étranglement de l’ensemble du système, et la stratégie d’optimisation est généralement adoptée comme une séparation en lecture et écriture, la base réalisant la séparation en lecture et écriture en divisant la base de données principale de la base de données (opération de requête d’écriture depuis la base de données principale, opération de requête de lecture depuis la base de données) ;
【Idées pour résoudre les délais de données】
1. Le principe de synchronisation maître-esclave (prenons ici le MySQL le plus populaire comme exemple)
Voici un schéma d’une synchronisation classique de données maître-esclave MySQL via binlog :
2. Comment les problèmes surgissent ?
1. D’après le schéma ci-dessus, il n’est pas difficile de constater que la synchronisation maître-esclave a un certain délai, ce qui affecte la taille du délai :
(1) La taille du délai dépend de la quantité de données générées entre la dernière synchronisation et le présent
(2) La situation actuelle du réseau entre serveurs
(3) La pression du serveur maître-esclave lui-même (CPU, mémoire, E/s, etc.)
2. Puisque le service de base de données est généralement dans l’intranet, et que le serveur sera plus configuré (plus que le besoin réel) lors de l’achat, la synchronisation est essentiellement très rapide, généralement en millisecondes ;
3. Dans les scénarios commerciaux généraux, la latence de la milliseconde peut être ignorée ;
4. Il existe des cas généraux et particuliers, et certaines situations particulières nécessitent une différence de temps en temps réel en millisecondes. Voici des solutions courantes pour ces situations particulières.
3. Solutions de latence des données :
1. Schéma 1 : Écrire le programme en double (écrire la base de données principale et lire la base de données en même temps)
2. Schéma 2 : Lisez le programme pour vérifier la base de données principale
3. Schéma 3 : Écrire la base de données principale et écrire le cache (définir un certain temps d’expiration, généralement légèrement supérieur au délai maximal de synchronisation de la base de données ), lire le programme, lire le cache et lire la base de données esclave
4. Avantages et inconvénients des trois dispositifs :
1. Schéma 1 : La double écriture consommera une certaine quantité de performance, ce qui est relativement simple à mettre en œuvre et ne convient pas aux scénarios d’écriture simultanée à forte intensité ;
2. Schéma 2 : Le programme de lecture affectera les performances de la bibliothèque principale, qui est relativement simple à mettre en œuvre et ne convient pas aux scénarios de lecture simultanée élevée.
3. Schéma 3 : Dans la plupart des cas, la lecture et l’écriture consomment plus de performances d’écriture, ce qui est plus complexe à implémenter et convient à la fois aux lectures et écritures concurrentes élevées (les lectures et écritures en cache sont très rapides) ;
【Résumé】
1. La mise en œuvre est importante, mais l’idée est plus importante ;
2. De nombreux principes et idées sous-jacents sont universels Langue source:https://blog.csdn.net/zhanghan18 ... le/details/91638443
|