1

哨兵:文档说

Redis Sentinel 为 Redis 提供高可用性。实际上,这意味着使用 Sentinel,您可以创建一个 Redis 部署,该部署无需人工干预即可抵抗某些类型的故障。

我认为我们可以Sentinal在不部署的情况下实现 redis 集群(在 K8s 中)的功能Sentinal?我从文档中获取哨兵能力,并从 K8s 中抛出一些反点。

  • Monitoring- Sentinel 不断检查您的主从实例是否按预期工作。
    • 我正在考虑working as expected意味着吊舱向上或向下。当您部署为Deployment(副本集)甚至部署时,这在 K8s 中是非常原生的StatefulSets
  • Notification- Sentinel 可以通过 API 通知系统管理员、另一台计算机程序,其中一个受监控的 Redis 实例有问题。
    • 我们不能这样做Operators吗?(从redis集群状态等角度来看)
  • Automatic failover- 如果一个主服务器没有按预期工作,Sentinel 可以启动一个故障转移过程,其中一个从服务器被提升为主服务器,其他额外的从服务器被重新配置为使用新的主服务器,并且使用 Redis 服务器的应用程序通知要使用的新地址连接时。
    • 我正在考虑not working as expected意味着 redis pod 已关闭。Operators在这种情况下,如果我们在/ StatefulSet+的帮助下部署 redis Headless Service。即使 Pod 重启,我们也有稳定的主/从网络 ID。
  • Configuration provider- Sentinel 充当客户端服务发现的授权来源:客户端连接到 Sentinel 以请求负责给定服务的当前 Redis 主服务器的地址。如果发生故障转移,Sentinels 将报告新地址。
    • 正如我在上面所说的,我们有稳定的网络 ID/名称/IP。客户总是可以指向一个主人。

我是redis的新手。如果有任何问题,请指导我。谢谢。

更新1

我的目标是避免哨兵并拥有HA。(主要是master故障转移)

4

1 回答 1

0

不,使用 redis-cluster 时不需要哨兵。

于 2019-02-04T12:21:19.203 回答