4

スーパーバイザーを使用して本番環境でredisを実行することは良い習慣ですか?

私はグーグルで回ったが、そうすることの多くの例を見たことがない。そうでない場合、本番環境でredisを実行する適切な方法は何ですか?

4

2 に答える 2

9

私は個人的に、本番環境で Redis の Monit を使用しています。Redis がクラッシュした場合、Monit はそれを再起動しますが、さらに重要なことに、Monit は Redis が現在使用している RAM の量を監視 (および 3 分の 1 に達したときにアラート) できるようになります (これが最大の問題です)。

構成は次のようになります ( maxmemoryRedis で 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
于 2012-09-27T08:00:26.053 に答える
1

まあ..それは依存します。デーモンの制御下で redis を使用する場合は、rinit を使用します。私はmonitを使用しますが、監視のみに使用します。私は緑の光を見るのが好きです。

ただし、redis が真の力を発揮するためには、redis をデーモン esp マスターとして実行しないでください。マスターがダウンした場合、スレーブをマスターに切り替える必要があります。簡単に言えば、頭の中でノードを撃ち、シェフのレシピで新しいノードを起動させます。

しかし、もう一度....スナップショットの頻度にも依存します。スナップショットを作成しないため、デーモン制御は必要ありません。

人々は総当たり速度のためにリードを使用します。つまり、ディスクに書き込まず、すべてのデータを RAM に保持します。ノードがダウンし、スナップショットを作成しないと、データが失われます。

于 2012-09-27T11:51:50.777 に答える