84年的矿泉水

博客园 首页 新随笔 联系 订阅 管理

        虽然在开源出来的FastDFS客户端中有一个示例,并且配有客户端的配置文件,但是今天开了一个小会,感觉还是有必要写一个使用指南来说明一下这个客户端的使用方法。

        在开源的包中有FastDFS.Client和FastDFS.Web(以下简称client和web)两个项目文档,前一个就是整个客户端的源代码文件,后一个其实就是DFS客户端使用的示例。其实从使用上来说,DFS客户端的使用是很简单的,具体可以看Web文件结构,代码和下面的文章:

       找到client或者是web程序集中的config文件夹,里面有2个配置文件,一个是FastDFS.config,另外一个log4net.config,后一个是配置日志的,客户端的日志使用的是apache开源的log4net组件,FastDFS.config文件配置的是FastDFS客户端使用的信息,

<configuration>
<NetworkTimeout>200000</NetworkTimeout>
<!-- 连接超时,可以根据实际情况配置 -->
<Charset>ISO8859-1</Charset>
<!-- 传输编码,可以根据实际情况配置,一般不用配置 -->
<!-- 以下为DFS服务器配置,请勿在没有通知的情况下更改 -->
<TrackerServers>
<TrackerServer Address="192.168.135.9" Port="22122" PoolSize="30" GroupName="test"/>
</TrackerServers>
<StorageServers>
<StorageServer Address="192.168.135.9" Port="23000" PoolSize="70"/>
</StorageServers>
</configuration>

        整个配置就这么简单,上面的配置项就不说了,说说TrackerServers和StorageServers的配置项,其实两者的配置项都差不多,只是TrackerServer配置项多了一个GroupName配置项而已,下面详细说明:

       1. TrackerServers和StroageServers都可以配置多个tracker和storage;只要增加TrackerServer和StorageServer配置项即可,一个TrackerServer和StorageServer只能配置一个tracker或者storage,当有多个server需要配置时请增加TrackerServer或者StorageServer的配置项即可;

      2. TrackerServer和StorageServer配置项中的Address表示服务所在的IP地址,Port表示服务监听的端口,PoolSize是客户端连接池中的最大连接数,TrackerServer中的GroupName是指当前tracker项的组名,StorageServer不需要是因为得到Storage是通过Tracker在服务端获取的,所以Storage不需要配置GroupName;

     3. poolsize的大小根据自己项目的实际情况设置,一般tracker的要比storage的小一半,这样设置是因为tracker的连接非常快,storage的连接因为要处理文件的传输,比较慢,所以影响的连接池需要大一点;

      对于客户端代码的使用,其实非常的简单,首先你要应用client这个程序集的dll,然后把FastDFS.config和log4net.config文件copy到你web的config文件夹下(或者你统一存放配置的目录下),然后在启动站点是启动DFS客户端,接着使用就可以了。

     在Web启动时,需要在Global文件中增加如下代码:

FastDFS

      这样DFS客户端就能启动起来了,在你需要上传图片的地方,使用DFS的客户端服务就可以上传文件并返回图片所在的地址,这样图片就上传成功了,代码如下:

FastDFS

    为了将DFS的出错影响降到最小,我们研究了DFS客户端出错的可能性,最大的可能是连接池发生异常,故开发了客户端线程池的重启功能,使用客户端重启功能很简单,你可以在你任何可以触发事件的地方(我们建议:你另开一个单独的页面并设置用户名和密码加强管理)加上以下代码即可:

FastDFS
     如果还有任何问题,请联系我们!

     

 

posted on 2010-05-17 14:39  xvhfeng  阅读(5657)  评论(15编辑  收藏  举报