Redis Sentinel 的支持

你好,

我注意到 你几年前移除了 sentinel 选项

具体原因是什么?

如果我提交一个 PR,你们会接受吗?

如果不接受,那我就打补丁。如果你有关于如何打补丁的建议就更好了,毕竟我很久没写 Ruby 了;)

谢谢!

我认为这从未奏效过。

只需将高可用 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
4 个赞

被移除的代码被视为实验性内容,我们近期没有支持它的计划。

6 个赞

听起来像是“不会”,但也不太明确 :slight_smile:

(不过,还是要感谢你目前的见解 :slight_smile:

抱歉,是的,我认为插件是更好的选择。Sentinel 从未为我们很好地工作过,因此我们更倾向于不在核心产品中将其作为社区选项提供。

3 个赞