Resqueを使用している場合、GitHubがRedisサーバーの潜在的な障害または一時的な使用不可能性をどのように扱うかについての洞察はありますか?GitHubのRedisとResqueの失敗の動作ですか?
zookeeper(https://github.com/ryanlecompte/redis_failoverとSolutions for resque failover redisを参照)を使ってredis-clusterのホールドオーバーとして半複雑な解決策をまとめたようなものもあります。他の人は、レディスクライアント間の調整なしに接続の問題を最初に見て、スレーブをマスターに切り替える「貧弱な人のフェイルオーバー」があるように見えます(ただし、これは一時的な使用不可のシナリオでは問題があるようです)。
質問:Defunktは、GitHubがRedisの不具合をどのように処理するかについて話しましたか? zookeeperに関係しないフェイルオーバーのベストプラクティスはありますか?
Redisの選択に関する合理的な部分は、redisのマスター/スレーブ機能でしたが、GitHubがこれをどのように活用しているのかについては説明していません。 (https://github.com/blog/542-introducing-resque参照)。
私が見た答えに最も近いもの!それを指摘してくれてありがとう。私はResqueを使って元のポストから書いたことのすべては、レディスの失敗が問題にならないように操作されました。例えば。別のDBエントリを使用してその特定のタスクを追跡し、失われたジョブをチェックして再実行することができます。また、スケジュールされたジョブのスケジューリングが欠落した場合でもすべてのスケジュールされたジョブは問題にならないようにアプリケーションを構築しました。これがもっと明確に文書化されればそれは助けになるだろう。 –