使用Supervisor在生产中运行redis是一个好习惯吗?
我已经搜索过了,但是没有看到很多这样做的例子。如果没有,在生产中运行redis的正确方法是什么?
答案 0 :(得分:8)
我个人只是在Redis上使用Monit进行制作。如果Redis崩溃Monit会重新启动它,但更重要的是,Monit将能够监控(并在达到threeshold时发出警报)Redis当前占用的RAM量(这是最大的问题)
配置可能是这样的(如果在Redis中将maxmemory
设置为1Gb)
check process redis
with pidfile /var/run/redis.pid
start program = "/etc/init.d/redis-server start"
stop program = "/etc/init.d/redis-server stop"
if 10 restarts within 10 cycles
then timeout
if failed host 127.0.0.1 port 6379 then restart
if memory is greater than 1GB for 2 cycles then alert
答案 1 :(得分:1)
嗯..这取决于。如果我在守护进程控制下使用redis,我会使用runit。我确实使用monit但仅用于监控。我喜欢看到绿灯。
然而,为了让redis利用真正的力量,你不要将redis作为一个守护神,特别是大师。如果主站发生故障,则必须将从站切换为主站。简单地退出,我只是拍摄头部的节点,我有一个厨师配方带来一个新的节点。
但是又一次....它还取决于你拍摄的频率。我没有快照,因此不需要deamon控制。
人们使用雷德来获得蛮力。这意味着不写入磁盘并将所有数据保存在RAM中。如果一个节点出现故障......你没有快照......数据就会丢失。