Chinois | Anglais
/$$$$$$ /$$ /$$ /$$$$$$$
/$$__ $$| $$$ /$$$| $$__ $$
| $$ __/| $$$$ /$$$$| $$ $$ /$$$$$$ /$$$$$$ /$$ /$$ /$$ /$$
| $$$$$$ | $$ $$/$$ $$| $$$$$$$//$$__ $$ /$$__ $$| $$ /$$/| $$ | $$
____ $$| $$ $$$| $$| $$____/| $$ __/| $$ $$ $$$$/ | $$ | $$
/$$ $$| $$ $ | $$| $$ | $$ | $$ | $$ >$$ $$ | $$ | $$
| $$$$$$/| $$ / | $$| $$ | $$ | $$$$$$/ /$$/ $$| $$$$$$$
______/ |__/ |__/|__/ |__/ ______/ |__/ __/ ____ $$
/$$ | $$
| $$$$$$/
______/
Un pool de connexions à la base de données MySQL développé par Swoole basé sur le protocole MySQL.
Stockez la connexion à la base de données en tant qu'objet en mémoire. Lorsque l'utilisateur doit accéder à la base de données, une connexion sera établie pour la première fois. Au lieu d'établir une nouvelle connexion, un objet de connexion inactif établi sera retiré du pool de connexions. Après utilisation, l'utilisateur ne ferme pas la connexion, mais remet la connexion dans le pool de connexions pour la prochaine requête. L'établissement et la déconnexion des connexions sont gérés par le pool de connexions lui-même.
Dans le même temps, vous pouvez également contrôler le nombre initial de connexions dans le pool de connexions, les limites supérieure et inférieure des connexions, le nombre maximum d'utilisations de chaque connexion, le temps d'inactivité maximum, etc. en définissant les paramètres de la connexion. piscine. Il peut également surveiller le nombre, l'utilisation, etc. des connexions à la base de données via son propre mécanisme de gestion. Si le nombre maximum de connexions est dépassé, la coroutine sera suspendue et la coroutine reprendra jusqu'à ce qu'une connexion soit fermée pour continuer l'opération.
PHP n'a pas de pool de connexions, donc la base de données sera pleine de connexions lorsque la concurrence est élevée. Un middleware de base de données tel que Mycat rendra certains SQL inutilisables. Par exemple, l'ajout par lots n'est pas pris en charge et il est trop volumineux. J'ai donc écrit moi-même ce middleware léger qui prend uniquement en charge le regroupement de connexions et la séparation lecture-écriture. L'utilisation de la coroutine Swoole pour planifier le transfert du protocole HandshakeV10 rend le programme plus stable. Il n'a pas besoin d'analyser tous les corps de packages SQL comme Mycat, ce qui augmente la complexité.
Grâce à vous, SMProxy peut en arriver là.
Merci à tous nos contributeurs ! [Devenez contributeur]
Soutenez ce projet en devenant sponsor. Votre logo apparaîtra ici avec un lien vers votre site internet. [Devenez sponsor]