近期,因为工作的需要,发现了国人写的一款基于lunix、用纯c写成的一款分布式文件系统管理软件,名叫FastDFS。仔细了拜读了作者的源代码后,感觉此开源软件还不错,性能和功能应该是能满足一定量的业务需要。后来发现此软件没有.Net客户端,所以就照着DFS的API写了一个。
我为此客户端写了如下的功能:
1. 增加了tracker和storage的连接池功能,但是不支持连接睡眠;
2. 通过调查,发现一些大型的门户站点对于DFS系统都只有上传图片功能,故此客户端只提供文件上传功能;
3. 客户端配置使用单独的配置文件存放,而且需要在Application_Start事件中加入启动;
4. log功能使用log4net提供;
5. 当连接池发生问题时,再次使用DFS客户端时启用短连接,避免程序无法上传;
现在代码已经完成,而且完成了功能和压力测试。功能测试和FastDFS完全吻合。压力测试时,结合此客户端,在300用户、100并发的量压力下,使用300k的图片,评价上传时间在3秒之内。能很好的完成文件的上传。
近期我会对DFS的客户端代码进行一次重构与优化(主要是前面写的代码太烂,不好意思拿出来),完成后我会尽快共享出来。