Kishore Gopalakrishna created MRM-1733:
------------------------------------------
Summary: Add replication and fault tolerance using Helix
Key: MRM-1733
URL: https://jira.codehaus.org/browse/MRM-1733
Project: Archiva
Issue Type: New Feature
Reporter: Kishore Gopalakrishna
As of today, Archiva does not support replication and does not support
automatic fail over. Archiva has two main storage types, the files uploaded to
the repository which uses file system for storage and metadata storage for
which Jack Rabbit is used. Archiva also supports notification mechanism where a
consumer can be notified of the changes in the repository.
In order to have fault tolerance and replication, we can have multiple archiva
instances running for redundancy. One of them will be elected as the master and
will accept writes/reads. And the remaining will be slaves and only serve
reads. The slaves can get notified from the master of every change and it will
apply the changes. When the master dies, one of the slaves will become the
master and serve writes.
Apache Helix is a newly incubated project and provides the basic building
blocks to add partition management, recovery from failure and cluster expansion
with ease. I have built a sample prototype how one can build such a replicated
file store using Helix. More information can be found here.
http://helix.incubator.apache.org/recipes/rsync_replicated_file_store.html
I have used rsync for replication and apache jci module to detect file system
changes to show case the recipe as a generic use case. However in case of
Archiva, one can use the notification mechanism provided by archiva consumer
for detecting changes and using archiva api's to fetch the changed files.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira