我对客户有一个要求,即拥有一个可供其所有分支机构工作的集中式系统。
当前,这是一个在 Win2008 RC 2 上的 IIS 7 下运行、使用 SQL 后端的 ASP.net Web 表单应用程序。
客户现在要求每个分支机构都拥有一个本地服务器,这样一旦出现互联网连接中断,分支机构的生产力就不会受到影响。
他的另一个要求是,所有内容都可以通过中央枢纽进行更新,并使用某种机制将更新过滤到各个站点。
我在这里有什么选择?
我认为以下是可能的选择:
- 由负载平衡器控制的多个冗余互联网连接
- 数据库的 SQL 复制(快照、合并或事务哪个更好)
- 推出我自己的 IIS 同步服务,定期检查 Web 应用程序是否有新版本并下载(我希望有比这更好的选择)
- 我还不知道有更好的方法(我希望这是我需要的)
我的一个客户担心的是,分支机构通常位于非常偏远的地区,从技术人员到互联网等一切都很难找到,而且非常稀缺。
欢迎任何想法、建议、提示等。
谢谢大家
答案1
最适合 Web 内容和 IIS 配置的两个工具是 Windows DFS-R 和 IIS7 共享配置。
我建议使用具有中心辐射配置的 DFS-R,以便一个位置可以推送到所有其他位置。使用指向共享文件夹的 IIS7 共享配置,例如 c:\inetpub\IISSharedConfig。DFS-R 可以使该文件夹保持同步。如果人们向每个位置写入数据,那么您将需要一个完整的网格配置。
对于 SQL,如果不了解应用程序的详细信息,这个问题的答案就不那么简单。如果您需要实时更新数据,并且在每个位置都进行读取,那么将快照复制设置为每分钟运行一次可能是最好的选择。不过,掌握它需要一些理解,因为需要处理您的身份列,并且需要在每个位置预先分配足够大的身份范围来处理批量插入。您可以考虑第三方解决方案,如 NeverFail 或 Xkoto。
答案2
斯科特 (Scott) 的回答几乎与我想说的所有内容相同 - 除了我想说考虑使用 GUID 来标识身份 - 这使得生活比尝试播种/预分配范围等更容易。
DFS-R 将轻松保持您的网络数据同步,sql 将取决于您的应用程序和数据库结构,哪种方式最有效。