在全球内部网中可靠地进行简单的文件/应用程序分发?

在全球内部网中可靠地进行简单的文件/应用程序分发?

我在一家公司工作,该公司拥有一个速度很慢的大型广域网,覆盖各大洲的许多不同地点。

特定内部应用程序的发布版本由 DLL 和数据文件组成,这些文件和数据文件的总大小可能超过 100 MB,而且有传言称该应用程序还在不断增长。每台台式机都有一个启动程序,用于检查是否有新版本、下载新文件并运行最新的应用程序。

理想情况下,最好将应用程序的新版本复制到一个“主”服务器。然后它将高效可靠地传播到全球的本地服务器。然后桌面启动器将从合适的本地服务器获取应用程序。理想情况下,这将非常可靠,可以应对部分 WAN 故障、本地服务器停止运行或服务器到服务器或服务器到客户端的传输中途中断的情况。

目前,启动器从一个服务器下载应用程序,不区分客户端的位置。这很慢,并且频繁发布会压垮 WAN。

我在前一家雇主那里也见过完全相同的(糟糕)解决方案。一定有更好的解决方案!

现有的简单可靠的解决方案是否适用于运行 Windows XP 和 Windows 7 的桌面客户端?

微软的 BranchCache 似乎采用了一些巧妙的技术(http://www.microsoft.com/en-us/server-cloud/windows-server/branchcache.aspx),尤其是在分布式缓存方面。但我们的大多数客户端(不幸的是)都是 Windows XP。

答案1

如果所有客户端都是域的成员,则应采用足够复杂的软件分发解决方案,例如系统中心配置管理器它允许缓存基础设施和差异更新。

作为一个穷人的解决方案,您应该能够将 Dfs 与复制结合使用,以便将安装程序副本发送到附近的位置。站点感知内置于 Dfs 中,因此客户端将首先尝试访问其自身站点内的服务器,如果本地服务器不可用,则故障转移到随机服务器或您可以指定的服务器。

您也可以尝试从开发人员的角度来解决这个问题。确实存在有效部署自我更新应用程序的技术,请参阅单击一次/更新程序应用程序块- 理想情况下,您需要找到适合您当前安装程序代码的东西。将站点本地 HTTP 代理引入此等式应该会给您带来所需的效果。

另一个有趣的选择是使用点对点协议进行软件部署,而无需对基础设施进行大的更改。在这种情况下,所有当前在线的客户端都充当站点本地缓存。一款名为分布式应用这样做,还有谋杀它是开源的,但依赖于 Python 并且是为 Linux 服务器编写的 - 不过,您可能会让它在您的场景中工作。

相关内容