【问题标题】:Is it recommended to run redis using Supervisor是否建议使用 Supervisor 运行 redis
【发布时间】:2023-03-09 06:53:02
【问题描述】:

使用 Supervisor 在生产环境中运行 redis 是一种好习惯吗?

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

【问题讨论】:

    标签: redis production-environment supervisord


    【解决方案1】:

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

    但是,为了让 redis 发挥真正的力量,你不能将 redis 作为一个守护进程运行,尤其是作为一个主控。如果主服务器出现故障,您将不得不将一个从服务器切换为主服务器。简单地退出,我只是在头部拍摄节点,然后我有一个厨师食谱会带来一个新节点。

    但话又说回来....这也取决于您拍摄快照的频率。我不快照,因此不需要守护进程控制。

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

    【讨论】:

      【解决方案2】:

      我个人只是在生产中在 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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-10-02
        • 2019-01-29
        • 1970-01-01
        • 1970-01-01
        • 2017-02-16
        • 1970-01-01
        • 2010-10-30
        相关资源
        最近更新 更多