Heim Backend-Entwicklung PHP-Tutorial Führen Sie die Schritte für das Laravel-Projekt aus, um den Redis-Cluster mithilfe des Beispiels twemproxy_php bereitzustellen

Führen Sie die Schritte für das Laravel-Projekt aus, um den Redis-Cluster mithilfe des Beispiels twemproxy_php bereitzustellen

Jun 01, 2018 pm 01:35 PM
laravel php

Twemproxy ist ein Proxyserver, der die Anzahl der vom Memcached- oder Redis-Server geöffneten Verbindungen reduzieren kann. Der folgende Artikel führt Sie hauptsächlich in die relevanten Informationen zum Laravel-Projekt ein, das Twemproxy zum Bereitstellen des Redis-Clusters verwendet. Der Artikel stellt es im Detail anhand des Beispielcodes vor.

Vorwort

Twemproxy ist ein von Twitter entwickelter Redis-Proxy, der mehrere Redis-Server als einen verwenden kann. Wenn Entwickler über Twemproxy auf diese Redis-Server zugreifen, müssen sie sich keine Sorgen machen Zu welchem ​​Server man gehen soll. Ein Redis-Server liest k-v-Daten oder aktualisiert k-v-Daten im Datensatz, wodurch auch das Problem der Redis-Freigabe zwischen mehreren Servern gelöst wird. Mit Hilfe der Master-Slave-Replikation von Redis kann sichergestellt werden, dass selbst dann, wenn ein Redis nicht funktioniert, die Existenz eines gesamten Datensatzes garantiert werden kann.

Wofür wird Twemproxy verwendet? Es kann:

  • Die Anzahl der Cache-Server-Verbindungen über Proxy reduzieren

  • Daten automatisch zwischen mehreren Cache-Servern teilen

  • Unterstützen Sie konsistentes Hashing durch verschiedene Strategien und Hashing-Funktionen

  • Deaktivieren Sie ausgefallene Knoten durch Konfiguration

  • Der Client läuft auf mehreren Instanzen kann sich mit dem ersten verfügbaren Proxyserver verbinden

  • Unterstützt Streaming und Stapelverarbeitung von Anfragen und reduziert so den Roundtrip-Verbrauch

Im Folgenden wird die Installation und Konfiguration von twemproxy vorgestellt:

1 Sie müssen m4 installieren, bevor Sie twemproxy, autoconf, automake, libtool, gcc installieren, da sonst verschiedene Fehler auftreten gemeldet werden

M4 installieren

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
Nach dem Login kopieren

Autoconf, automake, libtool, gcc installieren

yum -y install autoconf automake libtool gcc
Nach dem Login kopieren

2. Twemproxy installieren

git clone https://github.com/twitter/twemproxy.git
autoreconf -fvi #生成configure文件
.configure
make && make install
Nach dem Login kopieren

3 die Konfigurationsdatei

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
Nach dem Login kopieren

4. Ändern Sie die Redis-Konfigurationsdatei

Die von Redis überwachte IP und der Port müssen twemproxy entsprechen (da ich twemproxy nur auf einer der Maschinen installiert habe, muss es nicht geändert werden, wenn es auf beiden Maschinen installiert ist))

Ändern Sie die Bindungsoption in redis.conf der beiden Server, ändern Sie 127.0.0.1 in 172.16.175.145 und 172.16.175.122 in diesem Beispiel

5. Aktivieren Sie twemproxy

nutcracker -t -c /twemproxy/conf/nutcracker.yml 
#测试配置文件 如果不加-c 默认是检测conf/nutcracker.yml
Nach dem Login kopieren

nutcracker -d -c /twemproxy/conf/nutcracker.yml -p -o /data/logs/twemproxy/redisproxy.log 
#启动并将日志记录到/data/logs/twemproxy/redisproxy.log
Nach dem Login kopieren

6. Ändern Sie die Redis-Verbindung im Projekt in Twemproxy-IP und -Port

Mein Projekt verwendet Laravel, setzen Sie einfach REDIS_HOST und REDIS_PORT in der .env auf 127.0.0.1 und 22121

Beachten Sie, dass Sie auch den Konfigurationskommentar out 'database' => 0 festlegen müssen In der Redis-Konfiguration in der Datenbank.php unter dem Ordner führt Predis standardmäßig einen Auswahlvorgang für diese Konfiguration durch, was zu einem Verbindungsfehler führt.

Führen Sie einen Redis-Lese- und Schreibtest durch. Wenn nichts Unerwartetes passiert, kann Twemproxy normal verwendet werden!

Verwandte Empfehlungen:

Das Laravel-Framework implementiert das Beispiel für das Hinzufügen, Löschen, Ändern und Überprüfen (CURD) der Modellebene

Das obige ist der detaillierte Inhalt vonFühren Sie die Schritte für das Laravel-Projekt aus, um den Redis-Cluster mithilfe des Beispiels twemproxy_php bereitzustellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge Feb 07, 2025 pm 12:12 PM

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Erklären Sie die späte statische Bindung in PHP (statisch: :). Erklären Sie die späte statische Bindung in PHP (statisch: :). Apr 03, 2025 am 12:04 AM

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Apr 03, 2025 am 12:03 AM

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.

Wie bekomme ich den Rückgabecode, wenn das Senden von E -Mails in Laravel fehlschlägt? Wie bekomme ich den Rückgabecode, wenn das Senden von E -Mails in Laravel fehlschlägt? Apr 01, 2025 pm 02:45 PM

Methode zum Abholen des Rücksendecode, wenn das Senden von Laravel -E -Mails fehlschlägt. Wenn Sie Laravel zur Entwicklung von Anwendungen verwenden, stellen Sie häufig Situationen auf, in denen Sie Überprüfungscodes senden müssen. Und in Wirklichkeit ...

See all articles