Maison >développement back-end >tutoriel php >Comment gérer une concurrence élevée du Big Data en PHP
Solution Big data
Utiliser le cache : (Apprentissage recommandé : Tutoriel vidéo PHP )
Utilisation : 1. Utilisez le programme pour enregistrer directement dans la mémoire. Utilisez principalement Map, en particulier ConcurrentHashMap.
Utilisez le framework de mise en cache. Frameworks couramment utilisés : Ehcache, Memcache, Redis, etc.
La question la plus critique est : quand créer le cache et son mécanisme d'invalidation.
Pour la mise en mémoire tampon des données vides : il est préférable de les enregistrer avec une valeur de type spécifique pour faire la distinction entre les données vides et les états non mis en cache.
Base de données distribuée
Stockez différentes tables dans différentes bases de données puis sur différents serveurs. Certains problèmes complexes, tels que le traitement des transactions et les requêtes multi-tables.
NoSql et Hadoop
NoSql, pas seulement SQL. Elle n'a pas autant de restrictions que les bases de données relationnelles et est plus flexible et efficace.
Hadoop superpose les données d'une table en plusieurs blocs et les enregistre sur plusieurs nœuds (distribués). Chaque élément de données est stocké sur plusieurs nœuds (cluster). Les clusters peuvent traiter les mêmes données en parallèle et garantir l'intégrité des données.
Solution à haute concurrence
Séparation des applications et des ressources statiques.
Placez les ressources statiques (js, css, images, etc.) dans un serveur dédié.
Mise en cache des pages
Cache les pages générées par l'application pour économiser beaucoup de ressources CPU.
Pour certaines pages qui modifient fréquemment les données, vous pouvez utiliser ajax pour les traiter.
Cluster et
Cluster distribué, plusieurs serveurs ont les mêmes fonctions et servent principalement de diversion.
Distribué, plaçant différentes entreprises sur différents serveurs. Plusieurs serveurs peuvent être nécessaires pour traiter une demande, augmentant ainsi la vitesse de traitement d'une demande.
est divisé en cluster de ressources statiques et cluster d'applications. Cette dernière solution est plus compliquée et des problèmes tels que la synchronisation des sessions doivent souvent être pris en compte.
Proxy inverse
Le serveur auquel le client accède directement n'est pas le serveur qui fournit directement des services. Il obtient des ressources d'autres serveurs et renvoie ensuite les résultats à l'utilisateur. .
CDN
CDN est un serveur de cache de pages de cluster spécial Par rapport aux serveurs de cache de plusieurs pages dans un cluster ordinaire, la principale différence est : son emplacement de stockage et ses requêtes d'allocation. différemment.
Les serveurs CDN sont répartis dans tout le pays. Après réception d'une demande, celle-ci sera attribuée au nœud de serveur CDN le plus approprié pour obtenir les données. Chacun de ses nœuds CDN est un serveur de mise en cache de pages.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!