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

        

Reply via email to