关于 Subversion 协议动态代理服务器
##前言 在2015年下半年的时候,笔者的工作主要转向 GIT@OSC 分布式后端服务器的实现,GIT@OSC 分布式对于不同的接入有有不同的解决方案,HTTP 访问使用 nginx 模块实现动态代理,对于 ssh ,则是使用的端口转发。对于 svn, 早先是不使用分布式解决方案,也就是使用旧式的 NFS 方案,对于分布式来说,这非常的不彻底,NFS 依然是系统的一个瓶颈,并且 svn 服务器的奔溃影响的是所有的用户,某日开会,老大参与后,就问我,能不能实现 svn 协议的代理,我想了想,于是就答应下来,后来就有了 svnsrv 项目,2016 年春节前,svnsrv 作为 GIT@OSC svn 分布式解决方案率先上线,经过多次改进,svnsrv 逐渐稳定,目前已经稳定运行至今,春节期间遇到的访问故障经过分析均不是 svnsrv 的问题,而是后端 sserver 服务器的问题。 OSChina 创立在开源分享的精神之上,我们也将回馈社区。将 svnsrv 剥离核心路由库开源出来,项目地址: https://git.oschina.net/oschina/svnsrv ##svnsrv 概览 svnsrv 是基于C++11 开发的 svn 协议动态代理服务器软件,原本运行在 linux 平台,网络框架使用了 Boost.Asio 库,全异步模式,在上线初期