我认为我的 Redis 和 Web 应用程序部署环境有问题。
如果有人可以检查我的配置并处理我觉得棘手的情况,将不胜感激。
Redis配置:
我配置了多个 Redis 副本,一个作为主副本,另一个作为从属副本。让我们为简化起见:
- server1:配置为主
- server2 ~ serverN:配置为slave,指server1
Redis sentinel(s) 可能存在也可能不存在于这个结构中,因为我不能保证至少会有服务器。
在我的情况下,只有 server1 保证存在,服务器 2 到 N 不存在。
Web应用部署环境:
我还使用两个连接字符串部署了 .NET Web 应用程序,一个用于主服务器,另一个用于从服务器。网络服务使用
连接字符串如下所示:
- Redis 主服务器的“server1,password=myredispassword”
- Redis 从站的“serverN,password=myredispassword”
当然,如果 Web 应用程序有 serverN 的从属连接,则 serverN 保证存在。
问题情况(和问题):
现在我认为可能会出现以下情况:Redis 副本(主或从)已失效,而我的 Web 应用程序通过连接字符串引用该已失效的 Redis 副本。
我认为在这种情况下,Web 应用程序会停止运行,并表示端点无法访问。
是否可以优雅地处理无法到达的端点副本到另一个可到达的端点?我是否需要配置 Redis 哨兵才能执行此操作?或者您甚至会说我尝试访问或处理 Redis 连接的方法不正确?提前感谢您的意见。