Heim  >  Artikel  >  Datenbank  >  So implementieren Sie die Nginx-Proxy-Redis-Sentinel-Master-Slave-Konfiguration

So implementieren Sie die Nginx-Proxy-Redis-Sentinel-Master-Slave-Konfiguration

王林
王林nach vorne
2023-05-27 14:03:381794Durchsuche

1. Umgebung

Nginx-Version: 1.21.6
Center7.5 und höher oder Mas OS
Build Redis Sentinel Master-Slave-Modus
Springboot integriert Redis Sentinel Master-Slave-Modus

Tipps: Nginx muss das Upstream-Modul installieren

2. Konfiguration

Es gibt drei Optionen für die Nginx-Konfiguration (Einzelheiten finden Sie im folgenden Inhalt), darunter: Die erste Option besteht darin, einen Port für alle Sentinel-Knoten zu verwenden, die extern zugeordnet werden sollen; die zweite Option besteht darin, eine entsprechende Zuordnung zu konfigurieren Port für jeden Sentinel-Port, und es gibt keinen Unterschied zwischen der allgemeinen und der normalen Sentinel-Konfigurationsmethode. Ich persönlich glaube nicht, dass es viel Sinn macht, und interessierte Freunde können es selbst ausprobieren.

2.1, Option 1 (empfohlen)

# stream模块配置和http模块在相同级别
stream {
    upstream redis {
        server 127.0.0.1:26379 max_fails=3 fail_timeout=10s;
        server 127.0.0.1:26380 max_fails=3 fail_timeout=10s;
        server 127.0.0.1:26381 max_fails=3 fail_timeout=10s;
    }
    server {
        listen 5432;
        proxy_connect_timeout 30s;
        proxy_timeout 60s;
        proxy_pass redis;
    }
}

2.2, Option 2

# stream模块配置和http模块在相同级别
stream {
    upstream redis {
        server 127.0.0.1:26379 max_fails=3 fail_timeout=10s;
    }
    upstream redis1 {
        server 127.0.0.1:26380 max_fails=3 fail_timeout=10s;
    }
    upstream redis2 {
        server 127.0.0.1:26381 max_fails=3 fail_timeout=10s;
    }
    server {
        listen 5432;
        proxy_connect_timeout 30s;
        proxy_timeout 60s;
        proxy_pass redis;
    }
    server {
        listen 5433;
        proxy_connect_timeout 30s;
        proxy_timeout 60s;
        proxy_pass redis1;
    }
    server {
        listen 5434;
        proxy_connect_timeout 30s;
        proxy_timeout 60s;
        proxy_pass redis2;
    }
}

2.3, Option 3

# stream模块配置和http模块在相同级别
stream {
    upstream redis {
        server 127.0.0.1:26379 max_fails=3 fail_timeout=10s;
        server 127.0.0.1:26380 max_fails=3 fail_timeout=10s;
        server 127.0.0.1:26381 max_fails=3 fail_timeout=10s;
    }
    upstream redis1 {
        server 127.0.0.1:26380 max_fails=3 fail_timeout=10s;
        server 127.0.0.1:26379 max_fails=3 fail_timeout=10s;
        server 127.0.0.1:26381 max_fails=3 fail_timeout=10s;
    }
    upstream redis2 {
        server 127.0.0.1:26381 max_fails=3 fail_timeout=10s;
        server 127.0.0.1:26380 max_fails=3 fail_timeout=10s;
        server 127.0.0.1:26379 max_fails=3 fail_timeout=10s;
    }
    server {
        listen 5432;
        proxy_connect_timeout 30s;
        proxy_timeout 60s;
        proxy_pass redis;
    }
    server {
        listen 5433;
        proxy_connect_timeout 30s;
        proxy_timeout 60s;
        proxy_pass redis1;
    }
    server {
        listen 5434;
        proxy_connect_timeout 30s;
        proxy_timeout 60s;
        proxy_pass redis2;
    }
}

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Nginx-Proxy-Redis-Sentinel-Master-Slave-Konfiguration. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen