Unterstützung für Redis Sentinel

Hallo,

mir ist aufgefallen, dass Sie vor einigen Jahren die Sentinel-Optionen entfernt haben (Remove unused code for Redis Sentinel. · discourse/discourse@5dc4b46 · GitHub).

Gibt es dafür einen bestimmten Grund?

Wenn ich einen PR erstelle, werden Sie ihn akzeptieren?

Wenn nicht, werde ich einen Monkey Patch anwenden. Falls Sie Empfehlungen dazu haben, ist es schon eine Weile her, dass ich Ruby geschrieben habe :wink:

Vielen Dank!

Ich glaube, das hat nie funktioniert.

Trennen Sie die HA-Redis-Verantwortung einfach von Discourse und verwenden Sie HAProxy, um den Verkehr zum Master oder Slave zu leiten.

Beispielkonfiguration (Master auf 6379, Slave auf 6380)

listen redis_master
  bind 127.0.0.1:6379
  timeout client 30h
  timeout server 30h
  option tcp-check
  tcp-check connect
  tcp-check send AUTH\ *redis_password*\r\n
  tcp-check expect string +OK
  tcp-check send PING\r\n
  tcp-check expect string +PONG
  tcp-check send info\ replication\r\n
  tcp-check expect string role:master
  tcp-check send QUIT\r\n
  tcp-check expect string +OK
  server redis_data_0 10.10.10.10:6379 check inter 1s
  server redis_data_1 10.10.10.11:6379 check inter 1s

listen redis_slave
  bind 127.0.0.1:6380
  timeout client 30h
  timeout server 30h
  option tcp-check
  tcp-check connect
  tcp-check send AUTH\ *redis_password*\r\n
  tcp-check expect string +OK
  tcp-check send PING\r\n
  tcp-check expect string +PONG
  tcp-check send info\ replication\r\n
  tcp-check expect string role:slave
  tcp-check send QUIT\r\n
  tcp-check expect string +OK
  server redis_data_0 10.10.10.10:6379 check inter 1s
  server redis_data_1 10.10.10.11:6379 check inter 1s

Der entfernte Code wurde als experimentell eingestuft, und wir haben keine Pläne, ihn in naher Zukunft zu unterstützen.

Das klingt nach einem Nein, aber es war nicht ganz klar :slight_smile:

(Aber danke für die bisherigen Einblicke :slight_smile: )

Entschuldigung, ja, ich denke, ein Plugin ist hier die bessere Option. Sentinel hat für uns nie richtig gut funktioniert, daher würden wir es vorziehen, es nicht als Option für die Community im Kernprodukt anzubieten.