When we deal with data intensive projects which are expected to be used by a large number of users, we should rethink about the architecture nine times. The best idea is to come up with a flexible, scalable model to build on. Performance, process and database load balancing, and fault-tolerance are the areas that deserve great attention while in the design phase. So how we can achieve such requirements in Zope 3?
It is known that Z3 does not provide any magic features to fully balance the load. However, there is one built-in method that allows us to have multiple identical Zope instances sharing the same database with help of ZEO servers. And for balancing the load among these instances we may use either Pound or Balance. Of course there are other alternatives too!
So what we have on hand to worry about is how to handle the database load. The key requirements that we have to meet are,
- High data availability
- Fault tolerance
- Data safety
- Scalability
In Z3, it gives us a few possibilities. And here we will discuss how we can use multiple database with Z3 for different use cases.
- One Zope instance with two database
- One Zope instance and ZEO server with two database
- One Zope instance with multiple ZEO servers
- Multiple ZEO servers sharing the same database
These basic setups can be scaled and combined together to design a setup to suit our requirement. All the best!
0 Responses to “Multiple database with Zope 3”