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へフェイルオーバします。コンテンツの同期は残念ながらしてくれないようなので、別途手段が必要。

どこかに書いてあるのかなぁ。