Bonjour,
J’ai remarqué que vous aviez supprimé les options sentinelles il y a quelques années (Remove unused code for Redis Sentinel. · discourse/discourse@5dc4b46 · GitHub ).
Y a-t-il une raison précise à cela ?
Si je soumets une PR, l’accepterez-vous ?
Si non, je ferai un monkey patch. Si vous avez des recommandations pour cela, cela fait un moment que je n’ai pas écrit de Ruby
Merci !
RGJ
(Richard - Communiteq)
Septembre 10, 2020, 2:35
2
Je pense que cela n’a jamais fonctionné.
Séparez simplement la gestion de Redis HA de Discourse et utilisez HAProxy pour rediriger vers le maître ou l’esclave.
Exemple de configuration (maître sur le port 6379, esclave sur le port 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
tgxworld
(Alan Tan)
Septembre 11, 2020, 12:37
3
Le code qui a été supprimé était considéré comme expérimental et nous n’avons pas l’intention de le prendre en charge dans un avenir proche.
Cela semble être un non, mais ce n’était pas vraiment clair
(Mais merci pour les éclaircissements jusqu’à présent )
sam
(Sam Saffron)
Septembre 11, 2020, 10:52
5
Désolé, oui, je pense qu’un plugin est une meilleure option ici. Sentinel n’a jamais vraiment bien fonctionné pour nous, nous préférons donc ne pas l’inclure comme option pour la communauté dans le produit principal.