最近我开始学习Redis,并且能够从32位Windows的学习方面做所有事情。我是一名.net开发人员,并使用Redis在Web API设置中使用ServiceStack client进行缓存。我已经能够成功运行一个由4个主服务器和4个从服务器组成的Redis集群,并且想知道如何与ServiceStack客户端一起完成这项工作。
我主要担心的是,如果我连接我的客户端的主服务器发生故障,那么客户端如何自动连接到接管的其他可用服务器,因为该服务器的端口将会不同。因此,故障转移正在Redis级别,但客户端如何处理它?</ p>
我使用Redis命令行界面重新创建了上面提到的场景,但是当我关闭主机时,界面刚刚停止响应,因为一切都只是在黑洞中。因此,根据我的经验,cli不会自动处理作为客户端的故障转移。
我已开始向Redis学习StackExchange's client,但仍然有同样的问题。
我正在使用Microsoft提供的Redis发行版,用于Github提供的学习目的(对不起,因为我在这里没有提供链接,并且没有足够的声誉点)。
答案 0 :(得分:0)
Redis Sentinel是额外的Redis进程,用于监视Redis主服务器/从服务器的运行状况,并在检测到主服务器实例关闭时负责执行自动故障转移。 Redis Config project提供了一种快速设置流行的Redis Sentinel配置的方法。
ServiceStack.Redis Client supports Redis Sentinel并实现Recommended client Strategy,这使得它能够在故障转移后自动恢复,方法是让其中一个Sentinels连接到下一个可用地址,并使用其中一个可用地址恢复操作实例