スーパーバイザーを使用して本番環境でredisを実行することは良い習慣ですか?
私はグーグルで回ったが、そうすることの多くの例を見たことがない。そうでない場合、本番環境でredisを実行する適切な方法は何ですか?
スーパーバイザーを使用して本番環境でredisを実行することは良い習慣ですか?
私はグーグルで回ったが、そうすることの多くの例を見たことがない。そうでない場合、本番環境でredisを実行する適切な方法は何ですか?
私は個人的に、本番環境で Redis の Monit を使用しています。Redis がクラッシュした場合、Monit はそれを再起動しますが、さらに重要なことに、Monit は Redis が現在使用している RAM の量を監視 (および 3 分の 1 に達したときにアラート) できるようになります (これが最大の問題です)。
構成は次のようになります ( 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
まあ..それは依存します。デーモンの制御下で redis を使用する場合は、rinit を使用します。私はmonitを使用しますが、監視のみに使用します。私は緑の光を見るのが好きです。
ただし、redis が真の力を発揮するためには、redis をデーモン esp マスターとして実行しないでください。マスターがダウンした場合、スレーブをマスターに切り替える必要があります。簡単に言えば、頭の中でノードを撃ち、シェフのレシピで新しいノードを起動させます。
しかし、もう一度....スナップショットの頻度にも依存します。スナップショットを作成しないため、デーモン制御は必要ありません。
人々は総当たり速度のためにリードを使用します。つまり、ディスクに書き込まず、すべてのデータを RAM に保持します。ノードがダウンし、スナップショットを作成しないと、データが失われます。