如果主设备使用redisio cookbook关闭,如何自动连接到从设备

时间:2014-03-12 15:05:13

标签: redis

我正在使用redisio cookbook来安装redis服务。

我完成了配置following these steps

node.default[:redisio][:default_settings][:requirepass] = 'redis'

node.default['redisio']['servers'] = [
    {'port' => '6379'},
    {'port' => '6380', 'slaveof' => { 'address' => '127.0.0.1', 'port' => '6379' }}
]

include_recipe 'redisio::install'
include_recipe 'redisio::enable'

Whell,在主机上一切都很好,安装了两个服务(6379,6380)。

但是我的问题如果:

当我停止主服务时(6379)。

sudo service redis6379 stop
Stopping ...
Redis stopped

我再次尝试连接,我期待来自奴隶的回应:

redis-cli
Could not connect to Redis at 127.0.0.1:6379: Connection refused not connected> 

我还需要配置什么才能从奴隶那里得到回复?

1 个答案:

答案 0 :(得分:2)

如果我猜对了,你的问题是:“如果主人关机,我如何自动连接到奴隶”。在您的示例中,您将连接到默认端口6339,该端口已关闭,您无法连接到该端口。

您需要一个单独的经纪人流程:Redis Sentinel

Redis Sentinel在需要时将奴隶提升为主人。您的redis客户端应该连接到redis sentinel(第三个端口),因此您的请求可以重新路由。大多数客户端库都支持redis sentinel。

希望这有帮助,TW