代码之家  ›  专栏  ›  技术社区  ›  MLister

是否建议使用Supervisor运行redis

  •  4
  • MLister  · 技术社区  · 13 年前

    与主管一起在生产中运行redis是一种好的做法吗?

    我在谷歌上搜索过,但没有看到太多这样做的例子。如果没有,在生产中运行redis的正确方式是什么?

    2 回复  |  直到 13 年前
        1
  •  9
  •   FGRibreau    13 年前

    我个人只是在生产中使用Redis上的Monit。如果Redis崩溃,Monit会重新启动它,但更重要的是,Monit将能够监控Redis当前占用的RAM量(这是最大的问题)

    配置可能是这样的(如果 maxmemory 在Redis中设置为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
    
        2
  •  1
  •   Tampa    13 年前

    好这取决于情况。如果我在守护进程的控制下使用redis,我会使用runit。我确实使用monit,但仅用于监控。我喜欢看绿灯。

    然而,为了让redis发挥真正的力量,你不能把redis当作一个执事(尤其是大师)来运行。如果一个主控失败,你将不得不将一个从控切换到主控。简单地退出,我只是朝节点的头部射击,然后我有一个厨师食谱来创建一个新的节点。

    但话说回来。。。。它还取决于您拍摄快照的频率。我不快照,因此不需要deamon控制。

    人们使用reids来获得蛮力速度。这意味着不写入磁盘并将所有数据保存在ram中。如果某个节点出现故障。。。而你不拍快照。。。数据丢失。