Redis Sentinel从从属服务器读取

时间:2016-12-16 03:28:17

标签: redis

我正在为我的生产环境和HA使用redis服务器我正在使用redis sentinel。但是阅读文档时,当客户端连接到sentinel时,sentinel会为客户端提供主redis服务器。

是否所有读写操作都在主服务器上进行,从服务器只用于故障转移,或者我们可以使用从服务器从中读取数据?

1 个答案:

答案 0 :(得分:2)

  

但是阅读文档,当客户端连接到sentinel时,sentinel会为客户端提供主redis服务器。

不完全,它会为您提供您的要求。如果你要求主人,你就得到主人。如果你要求奴隶,它将返回奴隶清单。您使用sentinel master <name>获取主服务器,使用sentinel slaves <name>获取服务器列表。

因此,如果要对从站执行只读操作,请使用sentinel连接获取从站列表,然后打开与这些从站中的一个或多个的连接。棘手的部分是你需要你的代码来监视和检测故障转移,这样你就知道你的奴隶是否已被提升,你可以使用新的奴隶清单。

旁注:不要将其视为“通过哨兵连接到redis”。这与说“通过DNS服务器连接到Web服务器”一样不准确 - sentinel是您的查找服务,而不是代理连接。