NLB多WEB站点访问共享文件解决方案

在公司门户项目正式部署的时候,因BPM站点采用NLB集群部署方式,BPM站点有多个WEB前端服务器。流程都有上传附件功能,起初因没考虑服务器正式环境NLB的部署方式,只是简单的将所有附件保存在BPM WEB站点的Upload文件夹里。部署到正式环境后,发现上传附件是随机上传到某一台WEB前端服务器上。

起初为了解决多台WEB前端服务上的文件同步,只是简单的考虑文件同步工具。同步工具选择了GoogleSYN双向文件同步工具,这个工具非常好用,配置也很简单,解决了我们部署正式环境的问题。

文件同步工具的缺陷:

1、  不能实时同步,至少有秒级的延时。

2、  多个WEB前端的磁盘空间浪费严重。

3、  存在同步失败的风险,不能很好监控文件

为了彻底解决这个问题,后来考虑搭建文件服务器。这样我们可以把所有附件类的文件保存在文件服务器上,然后多台WEB前端服务器来取相应的文件即可。可是要考虑到现有项目代码架构,最好在不改代码的情况下顺利过渡。后来在网上看到IIS 7.5有添加虚拟目录的功能,虚拟目录可以映射到文件服务器上的一个共享文件夹。这样可以实现我们项目的顺利过渡,无需更改代码(唯一提到就是我修改过异步转换文件的时候要传入HttpContext.Current,异步执行上下文环境不同)。

虚拟目录具体解决步骤:

1、  在IIS站点右键添加虚拟目录。

2、  输入别名(最好与迁移前的文件夹名字一样,这样可避免修改代码)Upload。

3、  输入物理路径为文件服务器共享目录地址。

4、  点击“连接为”输入具有共享文件的完全控制权限的用户名帐号和密码。最好就是共享文件夹服务器与BPM WEB站点服务器有共同的帐号,而且这个帐号有控制共享文件夹的权限。

5、  点击“测试设置”,验证是否OK。

经过测试,完全可以解决我们的问题。

 

目前还没验证过搭建FTP服务器的解决方案。

posted on 2015-09-02 22:17  LingoLiang  阅读(958)  评论(0编辑  收藏  举报

导航