On Feb 10, 2012, at 15:00, Nico Kadel-Garcia wrote:

> On Fri, Feb 10, 2012 at 1:21 PM, Bruce Lysik wrote:
>> 
>> I'm considering deploying 3 front-ends, all mounting the same SAN volume for
>> repo.  (The SAN handle flock() and fnctl() correctly.)  These 3 FEs would be
>> load balanced by a Citrix Netscaler.  (At least for http(s).)
>> 
>> Would there be any problems with this configuration?
> 
> Potentially. Read operations, I wouldn't expect to be a big problem,
> but commit operations need to atomic, and the software wasn't
> *written* to behave well with network mounted back end filesystems
> across multiple servers. So I wouldn't know, off hand, what phase
> delays between two front ends writing revisions at the same time might
> create for genuine adventures on the back end.
> 
> If you need 3 front ends, you might really consider Wandisco's
> commercial package, which is designed for multiple front end use.

My understanding is that WANdisco's strength is for multi-site deployments, but 
the OP's mention of a load balancer implies to me that all servers will be 
located at a single site. Bruce, if that's so, are three servers really needed? 
Have you verified that a single server will not be fast enough? If so, you 
could consider having any number of read-only slave servers, which would each 
proxy their write requests back to the single master server that Subversion 
supports. This way read operations would be accelerated, while write operations 
would be securely limited to just the single master. The slave servers could 
keep individual copies of the repository(ies) synchronized with the master 
using svnsync, or possibly keeping a single copy of the data on a SAN that all 
the servers access would be ok, though as Nico said that's not the usual (and 
well-tested) configuration.


Reply via email to