مرحبًا،
لاحظت أنك أزلت خيارات sentinel قبل بضع سنوات (Remove unused code for Redis Sentinel. · discourse/discourse@5dc4b46 · GitHub ).
هل هناك سبب محدد لذلك؟
إذا قمت بتقديم طلب سحب (PR)، هل ستقبلونه؟
إذا لم يكن الأمر كذلك، فسأقوم بإجراء تعديلات مباشرة (monkey patch). إذا كانت لديك أي توصيات للقيام بذلك، فقد مرّ وقت طويل منذ أن كتبت كود Ruby
شكرًا!
RGJ
(Richard - Communiteq)
10 سبتمبر 2020، 2:35م
2
أعتقد أن هذا لم يعمل أبدًا.
فصل فقط مسؤولية Redis عالي التوفر خارج Discourse واستخدم HAProxy لتوجيه الطلبات إلى الخادم الرئيسي أو التابع.
إعداد مثال (الخادم الرئيسي على المنفذ 6379، والتابع على المنفذ 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)
11 سبتمبر 2020، 12:37ص
3
pierreozoux:
هل هناك سبب محدد لذلك؟
الكود الذي تم إزالته كان يُعتبر تجريبيًا، وليس لدينا خطط لدعمه في المستقبل القريب.
يبدو أن الإجابة لا، لكنها لم تكن واضحة تمامًا
(ولكن شكرًا لك على الأفكار القيمة حتى الآن )
sam
(Sam Saffron)
11 سبتمبر 2020، 10:52ص
5
عذراً، نعم، أعتقد أن إضافة (plugin) هي الخيار الأفضل هنا، حيث لم يعمل Sentinel بشكل جيد معنا من قبل، لذا نفضل عدم جعله خياراً متاحاً للمجتمع في المنتج الأساسي.