zoukankan      html  css  js  c++  java
  • 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服务器的解决方案。

  • 相关阅读:
    邂逅明下(巴什博弈+hdu2897)
    抽象接口的过程小结
    线程经常使用操作
    对继承的再次理解
    阿里Java开发手冊之编程规约
    [持续更新]Windows Programming常见Hungarian Notation/Abbreviation大全
    [转]__cdecl与__stdcall
    private继承的作用
    [转]C++中的三种继承public,protected,private
    如何只利用NMAKE+CL+LINK写WIN32程序
  • 原文地址:https://www.cnblogs.com/SuperLiangG/p/4779549.html
Copyright © 2011-2022 走看看