DSASの中の人は専用のソフトウェアを作って、マスタサーバからマルチキャスト配信して同期を取ってるみたい(8:45あたり)。いずれはオープンソースにして公開する予定だそうで。楽しみ。
追記: 公開された。Makuosan - KLablabWiki
データ同期する方法はいくつかあるけど、皆さんどうしてるのか気になってた今日この頃。ぱっと思いつくのはこんなところ。
nfs共有
nfsサーバの共有の領域をマウントする。お手軽でそれなりに同期は取れる。けどclientのキャッシュの都合で、複数台から完全に同一の内容が見えるとは保証できない(mountオプションでnoacつけてキャッシュしなければ別)。大規模なアクセスを考えると次のようなことも考慮する必要あり。
- clientが増えてくるとnfsのI/O(NW,ディスクなど)がボトルネックになる
- nfsサーバがSPOFになるので何らかの方法で冗長性を確保する必要あり
- 同一ファイルに同時に書き込むと正しい内容が読めない場合がある。(この場合はnoacでmountしていても発生するそうです) ref. DSAS開発者の部屋:NFS経由で正しい内容が読めない場合がある問題の原因と解決策