Inhaltsverzeichnis
1. Vorwort
1、目标与收获
Node
(2) Dienstkonfiguration
1. Die anfängliche Konfigurationsdatei des Redis-Instanzknotens
2. Die anfängliche Konfigurationsdatei des Knotens verwendet die Standardkonfigurationsdatei als Vorlage.
Beim Testen oder Lernen wird empfohlen, den Vordergrundprozessverwaltungsdienst zu verwenden, um die Simulation einzelner Punkte zu erleichtern von Fehlern, Anzeigen von Protokollen und Beobachten der Master-Slave-Umschaltung.
(1) Grundlegende Integration
Der Inhalt der Basisintegration besteht darin, mithilfe eines Java-Clients eine Verbindung zum hochverfügbaren Redis-Dienst im Sentinel-Modus herzustellen, um die Anforderungen für den normalen Betrieb von Einzelknoten-Fehlerdiensten zu erfüllen.
1. Globale Konfigurationsdatei
2. Die integrierte Konfiguration ist in das SpringBoot-System integriert. Der Kern besteht darin, eine LettuceConnectionFactory-Verbindungsfabrik zu erstellen, die problemlos in andere Frameworks unter Spring vererbt werden kann System.
Die Basisintegration implementiert nur den Prozess des hochverfügbaren Redis-Dienstes. In der Produktionsumgebung müssen noch andere Konfigurationen hinzugefügt werden: Ändern Sie die Seriennummer der benutzerdefinierten Verbindungsdatenbank Poolkonfiguration; Lese- und Schreibtrennung.
2、集成配置
Heim Datenbank Redis Beispielanalyse der Hochverfügbarkeit im Redis-Sentry-Modus

Beispielanalyse der Hochverfügbarkeit im Redis-Sentry-Modus

Jun 02, 2023 pm 10:38 PM
redis

    1. Vorwort

    Redis Hochverfügbarkeit verfügt über zwei Modi: Sentinel-Modus und Cluster-Modus. Dieser Artikel erstellt einen -Host basierend auf Sentinel-Modus Zwei von drei SentinelsRedis-Hochverfügbarkeitsdienst. 哨兵模式集群模式,本文基于哨兵模式搭建一主两从三哨兵Redis高可用服务。

    1、目标与收获

    一主两从三哨兵

    1. Ziele und Vorteile
    • Ein Master, zwei Slaves und drei SentinelsDer Redis-Dienst kann grundsätzlich die Hochverfügbarkeitsanforderungen kleiner und mittlerer Projekte erfüllen . Durch diesen Artikel werden die folgenden Ziele erreicht:

    • Planung und Konstruktion des Sentinel-Modus-Dienstes

    • Der Sentinel-Modus-Dienst ist zuverlässiger als der eigenständige Versionsdienst und eignet sich für die Lese- und Schreibtrennung, die Menge Die Datenmenge ist nicht groß und erfordert Zuverlässigkeit und Stabilität der Szene.

    • Client-Integration und Trennung von Lesen und Schreiben

    Stellen Sie über das Spring-Framework eine Verbindung zum Sentry-Modus her, um allgemeine Vorgänge in der Produktionsumgebung abzuschließen.

    2. Hafenplanung

    Beispielanalyse der Hochverfügbarkeit im Redis-Sentry-ModusHafenplanung ist der erste Schritt zur Vervollständigung dieser Lösung.

    2. Einzelmaschinensimulation

    Bei der Einzelmaschinensimulation werden Vorgänge auf einer physischen oder virtuellen Maschine simuliert, um den Zwischenprozess der ursprünglichen Lösung so weit wie möglich wiederherzustellen. Sie wird normalerweise beim Lernen verwendet Entwicklungsstadium.

    Um den Vorgang zu vereinfachen, trifft der Redis-Dienst die folgenden Konventionen: Die Daten werden nicht auf der Festplatte gespeichert. Die Konfigurationsdateien des Vordergrundknotens verwenden die Standardkonfigurationsdatei als Vorlage.
    (1) Dienstplanung

    1. Redis-Instanz Der Dienst weiß eindeutig, welcher Knoten der Masterknoten ist, wenn er zum ersten Mal ausgeführt wird und ein Master-Slave-Wechsel auftritt Es kann nicht angezeigt werden, um welchen Knoten es sich handelt. Der Knoten ist der Masterknoten und muss indirekt über die Befehlszeile abgefragt werden. KnotenHostPortRolleExtra-Konfigurationnode01127.0.0.16380Dienst als beim ersten Start node02127.0 .0.16381Diente als Sklave, als er zum ersten Mal gestartet wurde. Nachbildung von 127.0.0.1 6380 Zum ersten Mal gestartetReplik von 127.0.0.1 6380Es gibt keine Master-Slave-Unterscheidung zwischen Sentinel-Dienstknoten und alle Knoten sind gleichberechtigt. Wenn im Hauptdienst eine Ausnahme auftritt, löst der Sentinel-Dienst die Abstimmungsstrategie aus und wählt Kandidaten aus den Slave-Knoten der Redis-Instanz als neuen Hauptdienst aus.
    Zusätzliche Konfiguration bezieht sich auf die neue Konfiguration in der Knotenkonfigurationsdatei, wenn die Redis-Dienstinstanz zum ersten Mal gestartet wird. 2. Sentinel-Dienst

    Node

    Host

    PortZusätzliche Konfigurationnode01127.0.0.126380Sentinel Monitor Mymaster. 127 .0.0. 1 6380 2node02127.0. 0.126381Sentinel Monitor Mymaster 127.0.0.1 6380 2

    (2) Dienstkonfiguration

    1. Die anfängliche Konfigurationsdatei des Redis-Instanzknotens

    verwendet die Standardkonfigurationsdatei als Vorlage.

    Nachdem Knoten01 und Knoten02 die Konfigurationsdatei initialisiert haben, wird die Master-Slave-Beziehung zwischen den Knoten angezeigt und die folgende Konfiguration hinzugefügt:

    replicaof 127.0.0.1 6380
    Nach dem Login kopieren
    2. Die anfängliche Konfigurationsdatei des Knotens verwendet die Standardkonfigurationsdatei als Vorlage.

    Fügen Sie nach der Initialisierung der Konfigurationsdateien von Knoten01, Knoten02 und Knoten03 die folgende Konfiguration hinzu:

    sentinel monitor mymaster 127.0.0.1 6381 2
    Nach dem Login kopieren

    (3) Dienstverwaltung

    Beim Testen oder Lernen wird empfohlen, den Vordergrundprozessverwaltungsdienst zu verwenden, um die Simulation einzelner Punkte zu erleichtern von Fehlern, Anzeigen von Protokollen und Beobachten der Master-Slave-Umschaltung.

    Es wird empfohlen, den Supervisor-Verwaltungsdienst unter Produktionsbedingungen zu verwenden, der nicht nur einfach zu verwalten ist, sondern den Dienst auch nach einer abnormalen Beendigung automatisch neu starten kann. In Hochverfügbarkeitsszenarien werden drei physische Maschinen verwendet.

    1 Redis-Instanz Mit der Produktion müssen neue Funktionen hinzugefügt werden.

    (1) Grundlegende Integration
    Der Inhalt der Basisintegration besteht darin, mithilfe eines Java-Clients eine Verbindung zum hochverfügbaren Redis-Dienst im Sentinel-Modus herzustellen, um die Anforderungen für den normalen Betrieb von Einzelknoten-Fehlerdiensten zu erfüllen.

    1. Globale Konfigurationsdatei

    Die der globalen Konfigurationsdatei hinzugefügten Konfigurationsinformationen sind: Der Parameter master ist der Name des Sentinel-Dienstes, hier ist der Standardwert; > Parameter ist die Sentinel-Service-Liste (nicht Redis-Instanz-Service-Liste); der database-Parameter ist die Datenbank.

    /usr/local/redis/bin/redis-server /usr/local/redis/conf/ms/redis80.conf --port 6380 --save '' --daemonize no 
    /usr/local/redis/bin/redis-server /usr/local/redis/conf/ms/redis81.conf --port 6381 --save '' --daemonize no
    /usr/local/redis/bin/redis-server /usr/local/redis/conf/ms/redis82.conf --port 6382 --save '' --daemonize no
    Nach dem Login kopieren

    2. Die integrierte Konfiguration ist in das SpringBoot-System integriert. Der Kern besteht darin, eine LettuceConnectionFactory-Verbindungsfabrik zu erstellen, die problemlos in andere Frameworks unter Spring vererbt werden kann System.

    /usr/local/redis/bin/redis-sentinel /usr/local/redis/conf/ms/sentinel280.conf --port 26380 --daemonize no
    /usr/local/redis/bin/redis-sentinel /usr/local/redis/conf/ms/sentinel281.conf --port 26381 --daemonize no
    /usr/local/redis/bin/redis-sentinel /usr/local/redis/conf/ms/sentinel282.conf --port 26382 --daemonize no
    Nach dem Login kopieren

    (2) Lese- und Schreibtrennung

    Die Basisintegration implementiert nur den Prozess des hochverfügbaren Redis-Dienstes. In der Produktionsumgebung müssen noch andere Konfigurationen hinzugefügt werden: Ändern Sie die Seriennummer der benutzerdefinierten Verbindungsdatenbank Poolkonfiguration; Lese- und Schreibtrennung.

    Unter der Voraussetzung einer hohen Verfügbarkeit wird die Funktion der Trennung von Lesen und Schreiben abgeleitet. Die Hauptbibliothek schließt die Leseanforderung ab (die Slave-Bibliothek lässt kein Schreiben zu). master参数为哨兵服务名,此处为默认值;nodes参数为哨兵服务列表(不是Redis实例服务列表);database参数为数据库。

    spring:
      redis:
        database: 0
        sentinel:
          nodes: 192.168.181.171:26380,192.168.181.171:26381,192.168.181.171:26382
          master: mymaster
    Nach dem Login kopieren
    2、集成配置

    集成进SpringBoot体系,最核心的是创建LettuceConnectionFactory

    @Configuration
    public class RedisSentinelConfig {
        @Autowired
        private RedisProperties redisProperties;
        
        @Bean
        public RedisConnectionFactory lettuceConnectionFactory() {
            RedisProperties.Sentinel sentinel = redisProperties.getSentinel();
            HashSet<String> nodes = new HashSet<>(sentinel.getNodes());
            String master = sentinel.getMaster();
            RedisSentinelConfiguration config = new RedisSentinelConfiguration(master, nodes);
            config.setDatabase(redisProperties.getDatabase());
            return new LettuceConnectionFactory(config);
        }
    }
    Nach dem Login kopieren

    Das obige ist der detaillierte Inhalt vonBeispielanalyse der Hochverfügbarkeit im Redis-Sentry-Modus. 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

    Video Face Swap

    Video Face Swap

    Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

    Heißer Artikel

    <🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
    4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    Nordhold: Fusionssystem, erklärt
    4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    Mandragora: Flüstern des Hexenbaum
    3 Wochen 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)

    Heiße Themen

    Java-Tutorial
    1672
    14
    PHP-Tutorial
    1276
    29
    C#-Tutorial
    1256
    24
    So erstellen Sie den Redis -Clustermodus So erstellen Sie den Redis -Clustermodus Apr 10, 2025 pm 10:15 PM

    Der Redis -Cluster -Modus bietet Redis -Instanzen durch Sharding, die Skalierbarkeit und Verfügbarkeit verbessert. Die Bauschritte sind wie folgt: Erstellen Sie ungerade Redis -Instanzen mit verschiedenen Ports; Erstellen Sie 3 Sentinel -Instanzen, Monitor -Redis -Instanzen und Failover; Konfigurieren von Sentinel -Konfigurationsdateien, Informationen zur Überwachung von Redis -Instanzinformationen und Failover -Einstellungen hinzufügen. Konfigurieren von Redis -Instanzkonfigurationsdateien, aktivieren Sie den Cluster -Modus und geben Sie den Cluster -Informationsdateipfad an. Erstellen Sie die Datei nodes.conf, die Informationen zu jeder Redis -Instanz enthält. Starten Sie den Cluster, führen Sie den Befehl erstellen aus, um einen Cluster zu erstellen und die Anzahl der Replikate anzugeben. Melden Sie sich im Cluster an, um den Befehl cluster info auszuführen, um den Clusterstatus zu überprüfen. machen

    So löschen Sie Redis -Daten So löschen Sie Redis -Daten Apr 10, 2025 pm 10:06 PM

    So löschen Sie Redis -Daten: Verwenden Sie den Befehl Flushall, um alle Schlüsselwerte zu löschen. Verwenden Sie den Befehl flushdb, um den Schlüsselwert der aktuell ausgewählten Datenbank zu löschen. Verwenden Sie SELECT, um Datenbanken zu wechseln, und löschen Sie dann FlushDB, um mehrere Datenbanken zu löschen. Verwenden Sie den Befehl del, um einen bestimmten Schlüssel zu löschen. Verwenden Sie das Redis-Cli-Tool, um die Daten zu löschen.

    So lesen Sie Redis -Warteschlange So lesen Sie Redis -Warteschlange Apr 10, 2025 pm 10:12 PM

    Um eine Warteschlange aus Redis zu lesen, müssen Sie den Warteschlangenname erhalten, die Elemente mit dem Befehl LPOP lesen und die leere Warteschlange verarbeiten. Die spezifischen Schritte sind wie folgt: Holen Sie sich den Warteschlangenname: Nennen Sie ihn mit dem Präfix von "Warteschlange:" wie "Warteschlangen: My-Queue". Verwenden Sie den Befehl LPOP: Wischen Sie das Element aus dem Kopf der Warteschlange aus und geben Sie seinen Wert zurück, z. B. die LPOP-Warteschlange: my-queue. Verarbeitung leerer Warteschlangen: Wenn die Warteschlange leer ist, gibt LPOP NIL zurück, und Sie können überprüfen, ob die Warteschlange existiert, bevor Sie das Element lesen.

    So konfigurieren Sie die Ausführungszeit der Lua -Skript in CentOS Redis So konfigurieren Sie die Ausführungszeit der Lua -Skript in CentOS Redis Apr 14, 2025 pm 02:12 PM

    Auf CentOS -Systemen können Sie die Ausführungszeit von LuA -Skripten einschränken, indem Sie Redis -Konfigurationsdateien ändern oder Befehle mit Redis verwenden, um zu verhindern, dass bösartige Skripte zu viele Ressourcen konsumieren. Methode 1: Ändern Sie die Redis -Konfigurationsdatei und suchen Sie die Redis -Konfigurationsdatei: Die Redis -Konfigurationsdatei befindet sich normalerweise in /etc/redis/redis.conf. Konfigurationsdatei bearbeiten: Öffnen Sie die Konfigurationsdatei mit einem Texteditor (z. B. VI oder Nano): Sudovi/etc/redis/redis.conf Setzen Sie die LUA -Skriptausführungszeit.

    So verwenden Sie die Befehlszeile der Redis So verwenden Sie die Befehlszeile der Redis Apr 10, 2025 pm 10:18 PM

    Verwenden Sie das Redis-Befehlszeilen-Tool (REDIS-CLI), um Redis in folgenden Schritten zu verwalten und zu betreiben: Stellen Sie die Adresse und den Port an, um die Adresse und den Port zu stellen. Senden Sie Befehle mit dem Befehlsnamen und den Parametern an den Server. Verwenden Sie den Befehl Hilfe, um Hilfeinformationen für einen bestimmten Befehl anzuzeigen. Verwenden Sie den Befehl zum Beenden, um das Befehlszeilenwerkzeug zu beenden.

    So implementieren Sie Redis -Zähler So implementieren Sie Redis -Zähler Apr 10, 2025 pm 10:21 PM

    Der Redis-Zähler ist ein Mechanismus, der die Speicherung von Redis-Schlüsselwertpaaren verwendet, um Zählvorgänge zu implementieren, einschließlich der folgenden Schritte: Erstellen von Zählerschlüssel, Erhöhung der Zählungen, Verringerung der Anzahl, Zurücksetzen der Zählungen und Erhalt von Zählungen. Die Vorteile von Redis -Zählern umfassen schnelle Geschwindigkeit, hohe Parallelität, Haltbarkeit und Einfachheit und Benutzerfreundlichkeit. Es kann in Szenarien wie Benutzerzugriffszählungen, Echtzeit-Metrikverfolgung, Spielergebnissen und Ranglisten sowie Auftragsverarbeitungszählung verwendet werden.

    So setzen Sie die Redis -Ablaufpolitik So setzen Sie die Redis -Ablaufpolitik Apr 10, 2025 pm 10:03 PM

    Es gibt zwei Arten von RETIS-Datenverlaufstrategien: regelmäßige Löschung: periodischer Scan zum Löschen des abgelaufenen Schlüssels, der über abgelaufene Cap-Remove-Count- und Ablauf-Cap-Remove-Delay-Parameter festgelegt werden kann. LAZY LELETION: Überprüfen Sie nur, ob abgelaufene Schlüsseln gelöscht werden, wenn Tasten gelesen oder geschrieben werden. Sie können durch LazyFree-Lazy-Eviction, LazyFree-Lazy-Expire, LazyFree-Lazy-User-Del-Parameter eingestellt werden.

    So optimieren Sie die Leistung von Debian Readdir So optimieren Sie die Leistung von Debian Readdir Apr 13, 2025 am 08:48 AM

    In Debian -Systemen werden Readdir -Systemaufrufe zum Lesen des Verzeichnisinhalts verwendet. Wenn seine Leistung nicht gut ist, probieren Sie die folgende Optimierungsstrategie aus: Vereinfachen Sie die Anzahl der Verzeichnisdateien: Teilen Sie große Verzeichnisse so weit wie möglich in mehrere kleine Verzeichnisse auf und reduzieren Sie die Anzahl der gemäß Readdir -Anrufe verarbeiteten Elemente. Aktivieren Sie den Verzeichnis -Inhalt Caching: Erstellen Sie einen Cache -Mechanismus, aktualisieren Sie den Cache regelmäßig oder bei Änderungen des Verzeichnisinhalts und reduzieren Sie häufige Aufrufe an Readdir. Speicher -Caches (wie Memcached oder Redis) oder lokale Caches (wie Dateien oder Datenbanken) können berücksichtigt werden. Nehmen Sie eine effiziente Datenstruktur an: Wenn Sie das Verzeichnis -Traversal selbst implementieren, wählen Sie effizientere Datenstrukturen (z.

    See all articles