Ryan Schmidt said the following, on 09-08-13 7:12 PM:
On Aug 9, 2013, at 15:40, "Naumenko, Roman" wrote:
I wanted to check if it's possible to configure subversion in
master-slave mode with some sort of common URL on the proxy server or
loadbalancer, so end users wouldn't bother with different names for
slave/master/readonly and geolocal names.
You can configure any number of read-only slaves which maintain copies of the master 
repository with a very slight delay. The mirroring and keeping in sync would be 
accomplished using svnsync. To access the repositories, users would use the hostname of a 
mirror near to them. For read operations, they would occur on the mirror and therefore be 
faster than accessing the farther-away master. For write operations, you configure the 
mirror to proxy those requests back to the master. (Search for "write-through 
proxy" for more on this.) In this way the users only need to know the address of 
their closest mirror; they do not need to know which is the master or to know its address.
I wanted to have universal URL, which might resolve to different IP based on location - for performance.
But more important, I'd like to have a few nodes handling writes.
Of course, it would be ideal if subversion nodes could just share a
storage, so any sort of requests from a load balancer can processed by
any node without need to replicate changes over network.
If your storage is robust (i.e. a cluster filesystem, such as Xsan) and you 
want to run multiple Subversion servers that each have access to the same 
repositories on the same storage, then yes, you can do that instead.
The storage is robust enough - NetApp or possibly SAN with all enterprise bells and whistles.

Ok, so if multiple nodes are accessing the same mount point with repos data, will they be able to handle writes from multiple clients correctly? Thinking out loud: yes, they should - since it's no difference for a repository if multiple clients commiting over same server or few distributed nodes. Or is it different when the same process handles all requests? Does it mean that HA and loadbalancing should be pretty easy to setup? It should be, yet the information is almost absent about examples of such architecture. I must be missing something here.
--Roman

Reply via email to