我正在使用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'

当主机一切正常时,安装了两个服务(63796380)。
但我的问题是:
当我停止主服务时(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>

我还需要配置什么才能从从属服务器获取响应?

最佳答案

如果我猜对了,你的问题是:“如果主人倒下,我如何自动连接到奴隶”。在您的示例中,您正在连接到默认端口6379,该端口已关闭,您无法连接到该端口。
您需要一个单独的代理进程来实现这一点:Redis Sentinel
redis sentinel在需要时提升从机为主机。你的redis客户端应该连接到redis sentinel(第三个端口),这样你的请求就可以重新路由。大多数客户端库都支持redis sentinel。
希望能帮上忙,tw

09-11 20:08
查看更多