ZEOを複数指定できるって
Zopeって、コンテンツを全部Data.fsっていう一つのファイルに入れています。ZEOっていうのは、複数のZopeインスタンスでこのData.fsを共有する仕組み。ZEOがData.fsを管理して、複数のZopeインスタンスがTCPでZEOと通信してコンテンツをサービスすることができます。
で、構成上問題になるのがZEOが動作している鯖が落ちたら、もうどうしようもなくなること。ここが構成上の弱点だったんです。でも今日ひょんなことからZopeクライアントの設定でZEOの参照先を複数指定できることが判明。
設定例はこんな感じ。
<zodb_db main> # Main FileStorage database cache-size 20000 pool-size 10 <zeoclient> server 192.168.1.1:8100 server 192.168.1.2:8100 storage 1 name zeostorage var $INSTANCE/var cache-size 20MB client zeo1 </zeoclient> mount-point / </zodb_db>
この server 指定が複数あるところに注目。
こうやっておくと、まず192.168.1.1:8100へ接続、それが落ちたら自動的に192.168.1.2へフェイルオーバします。コンテンツの同期は残念ながらしてくれないようなので、別途手段が必要。
どこかに書いてあるのかなぁ。