repcached

http://lab.klab.org/modules/mediawiki/index.php/Repcached
レプリケーション機能とフェールオーバー機能を追加したmemcached

こういうので私が一番気になるのは、どのタイミングでフェールオーバーさせているか?

  • 一回失敗したらフェールオーバーするのか?
  • 一定期間失敗したらフェールオーバーするのか?
  • 一定の割合で失敗したらフェールオーバーするのか?

今現在いろいろ不幸な環境にあって実際に試したわけではないのですが、
ざっくりコードを読んだ感じ、一回コネクションが切れたら即フェールオーバーの予感。
(あんまり自信ないです)
このタイプのフェールオーバーは瞬断でも切り替わるし、不幸なアプリの刺さり状態のときどうなるかが不定のため注意を要するように思う。
もちろんその他2つのタイプのフェールオーバーにもそれぞれ問題はあって、どれをとっても結局悩んでそれぞれを補完するようなシェルを書くのはお約束。