我正在使用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>
我还需要配置什么才能从奴隶那里得到回复?
答案 0 :(得分:2)
如果我猜对了,你的问题是:“如果主人关机,我如何自动连接到奴隶”。在您的示例中,您将连接到默认端口6339,该端口已关闭,您无法连接到该端口。
您需要一个单独的经纪人流程:Redis Sentinel。
Redis Sentinel在需要时将奴隶提升为主人。您的redis客户端应该连接到redis sentinel(第三个端口),因此您的请求可以重新路由。大多数客户端库都支持redis sentinel。
希望这有帮助,TW