Maison développement back-end tutoriel php Le projet Laravel utilise twemproxy pour déployer les étapes complètes de l'instance PHP du cluster Redis

Le projet Laravel utilise twemproxy pour déployer les étapes complètes de l'instance PHP du cluster Redis

Jun 25, 2018 pm 05:05 PM
laravel 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 :

  • Réduire le nombre de connexions au serveur de cache via proxy

  • Partager automatiquement des données entre plusieurs serveurs de cache

  • Prise en charge d'un hachage cohérent grâce à différentes stratégies et fonctions de hachage

  • Désactiver les nœuds défaillants via la configuration

  • Exécuter sur plusieurs instances, le client peut se connecter au premier serveur proxy disponible

  • Prend en charge le streaming et le traitement par lots des requêtes, réduisant ainsi la consommation aller-retour

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 m4

wget 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 install
Copier après la connexion

Installer autoconf, automake, libtool, gcc

yum -y install autoconf automake libtool gcc
Copier après la connexion

2. Installer twemproxy

git clone https://github.com/twitter/twemproxy.git
autoreconf -fvi #生成configure文件
.configure
make && make install
Copier après la connexion

3. Modifiez le fichier de configuration

vim conf/nutcracker.yml

alpha:
 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
Copier après la connexion

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 exemple

5. twemproxy

nutcracker -t -c /twemproxy/conf/nutcracker.yml 
#测试配置文件 如果不加-c 默认是检测conf/nutcracker.yml
Copier après la connexion

nutcracker -d -c /twemproxy/conf/nutcracker.yml -p -o /data/logs/twemproxy/redisproxy.log 
#启动并将日志记录到/data/logs/twemproxy/redisproxy.log
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Exemple d'introduction de Laravel Exemple d'introduction de Laravel Apr 18, 2025 pm 12:45 PM

Laravel est un cadre PHP pour la création facile des applications Web. Il fournit une gamme de fonctionnalités puissantes, notamment: Installation: Installez le Laravel CLI globalement avec Composer et créez des applications dans le répertoire du projet. Routage: définissez la relation entre l'URL et le gestionnaire dans Routes / web.php. Voir: Créez une vue dans les ressources / vues pour rendre l'interface de l'application. Intégration de la base de données: fournit une intégration prête à l'emploi avec des bases de données telles que MySQL et utilise la migration pour créer et modifier des tables. Modèle et contrôleur: le modèle représente l'entité de la base de données et le contrôleur traite les demandes HTTP.

Résoudre les problèmes de mise en cache dans Craft CMS: Utilisation du plug-in Wiejeben / Craft-Laravel-MIX Résoudre les problèmes de mise en cache dans Craft CMS: Utilisation du plug-in Wiejeben / Craft-Laravel-MIX Apr 18, 2025 am 09:24 AM

Lorsque vous développez des sites Web à l'aide de CRAFTCMS, vous rencontrez souvent des problèmes de mise en cache de fichiers de ressources, en particulier lorsque vous mettez fréquemment à mettre à jour les fichiers CSS et JavaScript, les anciennes versions des fichiers peuvent toujours être mises en cache par le navigateur, ce qui fait que les utilisateurs ne voient pas les derniers changements de temps. Ce problème affecte non seulement l'expérience utilisateur, mais augmente également la difficulté du développement et du débogage. Récemment, j'ai rencontré des problèmes similaires dans mon projet, et après une exploration, j'ai trouvé le plugin wiejeben / artist-laravel-mix, qui a parfaitement résolu mon problème de mise en cache.

Comment apprendre Laravel comment apprendre Laravel gratuitement Comment apprendre Laravel comment apprendre Laravel gratuitement Apr 18, 2025 pm 12:51 PM

Vous voulez apprendre le cadre de Laravel, mais ne souffrez pas de ressources ni de pression économique? Cet article vous fournit un apprentissage gratuit de Laravel, vous apprenant à utiliser des ressources telles que les plateformes en ligne, les documents et les forums communautaires pour jeter une base solide pour votre parcours de développement PHP de la mise en place de maîtrise.

Fonction de connexion de l'utilisateur de Laravel Fonction de connexion de l'utilisateur de Laravel Apr 18, 2025 pm 12:48 PM

Laravel fournit un cadre Auth complet pour implémenter les fonctions de connexion des utilisateurs, notamment: définir des modèles d'utilisateurs (modèle éloquent), créant des formulaires de connexion (moteur de modèle de lame), rédaction des contrôleurs de connexion (héritage de l'authentification \ loginContrôleur), vérifiant les demandes de connexion (Auth :: tentative) Redirection après la connexion de la connexion, la limitation de la sécurité). De plus, le cadre Auth fournit également des fonctions telles que la réinitialisation des mots de passe, l'enregistrement et la vérification des e-mails. Pour plus de détails, veuillez consulter la documentation de Laravel: https://laravel.com/doc

Partage des compétences de cadre Laravel Partage des compétences de cadre Laravel Apr 18, 2025 pm 01:12 PM

À cette époque de progrès technologique continu, la maîtrise des cadres avancés est crucial pour les programmeurs modernes. Cet article vous aidera à améliorer vos compétences en développement en partageant des techniques peu connues dans le cadre de Laravel. Connu pour sa syntaxe élégante et une large gamme de fonctionnalités, cet article va creuser ses fonctionnalités puissantes et fournir des conseils et des astuces pratiques pour vous aider à créer des applications Web efficaces et maintenables.

Code d'installation de Laravel Code d'installation de Laravel Apr 18, 2025 pm 12:30 PM

Pour installer Laravel, suivez ces étapes dans Séquence: Installer Composer (pour MacOS / Linux et Windows) Installez Laravel Installer Créer une nouvelle application d'accès au service de démarrage du projet (URL: http://127.0.0.1:8000) Configurer la connexion de la base de données (si nécessaire)

Video de combat réelle de Laravel6 Video de combat réelle de Laravel6 Apr 18, 2025 pm 12:36 PM

Pour apprendre Laravel 6, vous pouvez obtenir des tutoriels vidéo de Laracasts (recommandés), de la documentation officielle et YouTube. Les cours recommandés incluent le «Laravel 6 de Laravels de Laracasts du débutant à la maîtrise» et le «tutoriel officiel de Laravel 6» produit par l'équipe officielle. Lorsque vous choisissez un cours vidéo, considérez le niveau de compétence, le style d'enseignement, l'expérience du projet et la fréquence des mises à jour.

Méthode d'installation de Laravel Framework Méthode d'installation de Laravel Framework Apr 18, 2025 pm 12:54 PM

Résumé de l'article: Cet article fournit des instructions détaillées étape par étape pour guider les lecteurs sur la façon d'installer facilement le cadre Laravel. Laravel est un puissant cadre PHP qui accélère le processus de développement des applications Web. Ce didacticiel couvre le processus d'installation des exigences du système à la configuration des bases de données et à la configuration du routage. En suivant ces étapes, les lecteurs peuvent jeter rapidement et efficacement une base solide pour leur projet Laravel.

See all articles