回答:
:それはビンログ介してディスクに書き込みを行っているので、私はあなたがMySQLが通常行う管理者のと似たような行うことができると思うだろうハートビートを / wのDRBD(例えば、ここに)。
ただし、前回ハートビートを使用しようとしたとき、ノード間の非マルチキャストチェックはサポートされていませんでした。つまり、クラウド/ VPSインフラストラクチャ(AWS、Linode、Slicehostなど)で実行することはほぼ不可能でした。実際、ほとんどのクラスタリングサービスはマルチキャストを使用しています。これはもはや当てはまらないかもしれませんが、注意する必要があります。keepalivedを使用してIPベースのフェールオーバーを提供できる場合があります。これはマルチキャストのみをサポートしますが、ユニキャストサポートを追加するために Willy Tarreau(HAProxyの著者)を介して利用可能なパッチがあります。Linode VPSサーバーのペアでこれを個人的にテストしましたが、マスターサーバーに障害が発生した場合、keepalivedは共有IPアドレスをフェイルオーバーできます。
おそらく最適ではない可能性のあることの1つは、多数のbeanstalkdサーバーにジョブを書き込むことです(パーティション分割とも呼ばれます)。それらのいずれかがダウンした場合、アプリにこれを検出させ、代わりに他のインスタンスに書き込みます。ワーカーは、beanstalkdの各インスタンスをインテリジェントにポーリングし、デッドインスタンスを無視できるようにする必要があります。binloggingしているので、インスタンスを再起動するのはインスタンスを再起動するのと同じくらい簡単で、アプリ/ワーカーはこれを検出して通常どおり続行します(そして新しく開始されたインスタンスでジョブの処理を開始します)。私は明らかにプロセスを単純化していますが、それはそれを処理するもう1つの方法です。