【问题标题】:Redis cluster ready clientRedis 集群就绪客户端
【发布时间】:2023-03-03 17:02:03
【问题描述】:

最近我开始学习 Redis,并且已经能够在 32 位 Windows 中完成从学习方面的所有工作。我是一名 .net 开发人员,在 Web API 设置中使用 ServiceStack client 使用 Redis 提供了缓存。我已经能够成功运行一个由 4 个主服务器和 4 个从属服务器组成的 Redis 集群,并且想知道如何与 ServiceStack 客户端一起工作。

我主要担心的是,如果我连接客户端的主服务器出现故障,那么客户端如何自动连接到接管的其他可用从服务器,因为该从服务器的端口将不同。所以故障转移是在 Redis 级别工作的,但是客户端如何处理呢?

我使用 Redis 命令行界面重新创建了上述场景,但是当我关闭主控时,界面停止响应,就像一切都进入了黑洞一样。因此,根据我的经验,cli 不会作为客户端自动处理故障转移。

我已经开始学习 StackExchange's client 到 Redis,但仍然有同样的问题。

我正在使用 Microsoft 提供的 Redis 分发版用于 Github 上的学习目的(抱歉,由于我是新来的并且没有足够的信誉点,因此无法提供链接)。

【问题讨论】:

    标签: windows redis stackexchange.redis servicestack.redis


    【解决方案1】:

    Redis Sentinel 是额外的 Redis 进程,用于监控 Redis 主/从的运行状况,并在检测到主实例关闭时负责执行自动故障转移。 Redis Config project 提供了一种快速设置流行的 Redis Sentinel 配置的方法。

    ServiceStack.Redis Client supports Redis Sentinel 并实现了 Recommended client Strategy,这使得它能够在故障转移后自动恢复,方法是向其中一个 Sentinel 询问要连接的下一个可用地址,并使用其中一个可用实例恢复操作。

    您可以了解更多关于Redis Sentinel in the official Documentation的信息。

    【讨论】:

    • 感谢mythz 的回答。可能是我目前的理解是绿色的,但是因为我的目标是使用 Redis Cluster,我相信我不应该使用 Redis Sentinel setup。我确实想利用我们在 Redis Cluster 中开箱即用的自动分片和复制功能。如果我的理解有误,请原谅我。我使用链接阅读集群与哨兵:fnordig.de/2015/06/01/redis-sentinel-and-redis-cluster
    • @Tux 如果你需要分片,你会想使用 Redis 集群,Redis Sentinel 提供监控、自动故障转移并使用 Redis 中内置的复制。 ServiceStack 不支持集群,因此您需要使用 StackExchange.Redis。
    • @Tux 还请注意,ServiceStack.Redis 是商业支持的产品,但有限制免费使用(请参阅free-quotas)。
    • 感谢 thepirat000。这绝对是有帮助的。我不知道。最终,在我的案例中,所有关于 Redis 的知识都将用于商业环境。
    猜你喜欢
    • 2018-06-19
    • 2016-04-25
    • 2019-12-01
    • 2021-09-29
    • 2017-04-29
    • 2021-04-28
    • 2020-08-18
    • 2021-09-13
    • 2021-03-31
    相关资源
    最近更新 更多