Maison > Article > développement back-end > Le projet Laravel utilise twemproxy pour déployer les étapes complètes de l'instance PHP du cluster Redis
Twemproxy est un serveur proxy permettant de réduire le nombre de connexions ouvertes par le serveur Memcached ou Redis. L'article suivant vous présente principalement les informations pertinentes sur le projet laravel utilisant twemproxy pour déployer le cluster redis. L'article le présente en détail à travers l'exemple de code. Les amis dans le besoin peuvent s'y référer
<.>Avant-propos
twemproxy est un proxy Redis développé par Twitter. Twemproxy peut utiliser plusieurs serveurs Redis comme un seul. Lorsque les développeurs accèdent à ces serveurs Redis via twemproxy, ils n'ont pas à s'inquiéter. vers lequel aller. Un serveur Redis lit les données k-v ou met à jour les données k-v dans l'ensemble de données, ce qui résout également le problème du partage Redis entre plusieurs serveurs. Avec l'aide de la réplication maître-esclave de Redis, il peut être garanti que même si un Redis ne fonctionne pas, l'existence d'un ensemble de données complet peut toujours être garantie. À quoi sert Twemproxy ? Il peut :Ce qui suit présente l'installation et la configuration de twemproxy :
1 Vous devez installer m4 avant d'installer twemproxy , autoconf, automake, libtool, gcc, sinon diverses erreurs se produiront. être signalé
Installer m4wget http://mirrors.kernel.org/gnu/m4/m4-1.4.13.tar.gz && tar -xzvf m4-1.4.13.tar.gz && cd m4-1.4.13 && ./configure –prefix=/usr/local make && make installInstaller autoconf, automake, libtool, gcc
yum -y install autoconf automake libtool gcc
2. Installer twemproxy
git clone https://github.com/twitter/twemproxy.git autoreconf -fvi #生成configure文件 .configure make && make install
3. Modifiez le fichier de configuration
vim conf/nutcracker.ymlalpha: listen: 127.0.0.1:22121 #监听端口 hash: fnv1a_64 #key值hash算法,默认fnv1a_64 distribution: ketama #分布算法 #ketama一致性hash算法;modula非常简单,就是根据key值的hash值取模;random随机分布 auto_eject_hosts: true #摘除后端故障节点 redis: true #是否是redis缓存,默认是false timeout: 400 #代理与后端超时时间,毫秒 server_retry_timeout: 200000 #摘除故障节点后重新连接的时间,毫秒 server_failure_limit: 1 #故障多少次摘除 servers: - 172.16.175.145:6379:1 - 172.16.175.122:6379:1
4. Changer le fichier de configuration redis
L'IP et le port surveillé par redis doivent correspondre à twemproxy (car je n'ai installé twemproxy que sur une des machines. Si si les deux serveurs sont installés, il n'y a pas besoin de changer ) Modifiez l'option de liaison dans redis.conf des deux serveurs respectivement et remplacez 127.0.0.1 par 172.16.175.145 et 172.16.175.122 dans cet exemple5. twemproxy
nutcracker -t -c /twemproxy/conf/nutcracker.yml #测试配置文件 如果不加-c 默认是检测conf/nutcracker.yml
nutcracker -d -c /twemproxy/conf/nutcracker.yml -p -o /data/logs/twemproxy/redisproxy.log #启动并将日志记录到/data/logs/twemproxy/redisproxy.log
6. Modifiez la connexion Redis dans le projet sur l'adresse IP et le port de twemproxy
Mon projet utilise Laravel, définissez simplement REDIS_HOST et REDIS_PORT dans le .env sur 127.0.0.1 et 22121 Notez que vous avez également besoin pour commenter 'database' => 0 dans la configuration redis dans database.php sous le dossier config, Predis effectue une opération de sélection sur cette configuration par défaut, ce qui provoquera des erreurs de connexion.Faites un test de lecture et d'écriture Redis Si rien d'inattendu ne se produit, twemproxy peut être utilisé normalement !
Résumé
Articles qui pourraient vous intéresser :Comment ouvrir PHP7 Opcode crée des performances puissantes avec une explication détaillée des compétences PHP
PHP résout le problème des lapins donnant naissance à des lapins basés sur des compétences PHP d'algorithme récursif
À propos de ThinkPHP Explication détaillée de la gestion des exceptions dans l'exemple_php
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!