In order to deploy Clustering Jasper Reports Server in a production environment with high-availability, scalable and fault-tolerant service and provide uninterrupted services to Clients without any failover or Downtime, DEFTeam has successfully implemented and served its customers with an ideal solution of Load Balancing of Clustering Jasper Reports Server Repository with Database Clustering. Cluster environment contains multiple mirrored Jasper Repository Databases with one acting as a Master while the remaining as its Slaves.
Load Balancing can be implemented in different Databases in different approaches like in ORACLE using RAC (Real Application Cluster), PostgreSQL using PgPool or PgBouncer, MySQL with HAProxy configuration etc.
Database clustering is a bit of an ambiguous term, some vendors consider a cluster having two or more servers share the same storage, some others call a cluster a set of replicated servers.
Replication: It defines the method by which a set of servers remain synchronized without having to share the storage being able to geographically disperse.
There are two main ways of going about it:
Master-Master Replication: Any server can update the database. It is usually taken care of by a different module within the database (or a whole different software running on top of them in some cases).
Downside: It is very hard to do well, and some systems lose ACID properties when in this mode of replication.
Upside: It is flexible and you can support the failure of any server while still having the database updated.
Master-Slave Replication: There is only a single copy of authoritative data, which is then pushed to the slave servers.
Downside: It is less fault tolerant if the master dies, there are no further changes in the slaves.
Upside: It is easier to do than Multi-Master and it usually preserves ACID properties.
Blog
blog