| Apache Archiva > Index > High Availability Archiva |
What options/strategies do we have for clustering Archiva instances?
Option 1: master-slave-strategy (not really a cluster)
advantage: easy to set up
drawback: no transpararent fail-over, no load-balancing
Option 2: two Archiva-Servers + httpd-balancer + shared fs
Can it work with multiple instances using the same filesystem?
Yes, but keep the index files (and probably the database) separate.
Notice that if you have separate file-system, you must ensure to have them synchronized.
What things can be shared, and what must remain separate?
Repository filesystem can be shared
Lucene indexes should not be shared (too much file locking to make it work)
How can upgrades be handled to minimize downtime?
no general solution. it depends on 2 factors:
Example configuration
Two servers running Archiva with a virtual IP device in front. Shared filesystem. Everyone uses
a single url that goes to the VIP, which monitors port 8080 on the servers to see which one is available. Right now it's done as
failover to a hot standby, but we eventually want it load balanced, and will add more repository servers as necessary. We've also
switched to MySQL for the user database, to take advantage of its replication and admin features.
Example architecture: two Archiva-Servers + httpd-balancer
Benefits:
What are write-operations
usually triggered by deploy-goals
the release-plugin might also do some write operation
Please see http://www.nabble.com/Location-of-index-files-in-1.0--tf3901605s177.html#a11064078