Multiple ZEO servers sharing the same database

Multiple Zope instances

As shown above, the most common way to load balance for Zope setups is to create multiple identical Zope instances sharing the same database via the ZEO.

Multiple ZEO servers sharing the same database

The less common way, shown above, is to create redundant ZEO servers which shares the same database. So, we must make sure that failure in one ZEO server won’t stop our Zope application from running correctly. The solution is to keep multiple copies of the Data.fs synchronized and available under separate ZEO servers. But syncing can be expensive in the case of bulky database. In any case, Zope allows multiple server addresses where the Zope instance can look for a particular ZEO server to get a particular database. The configuration is to be done in zope.conf:

    <zodb 1>
        <zeoclient>
            server 192.168.0.1:8800
            server 192.168.0.2:8800
            server 192.168.0.3:8800
            storage 1
            # ZEO client cache, in bytes
            cache-size 20MB
            # Uncomment to have a persistent disk cache
            #client zeo1
        </zeoclient>
    </zodb>

In this case, the Zope instance will sequentially iterate among the server addresses to find a ZEO server to access database ‘1′.

0 Responses to “Multiple ZEO servers sharing the same database”


  1. No Comments

Leave a Reply