6

我需要在负载均衡器后面的 Web 场上的站点中部署一个果园应用程序。这似乎是一个相当常见的场景,但我似乎找不到任何关于如何在 Windows Azure 之外进行这项工作的指导。

Orchard 文档描述了如何在 Windows Azure 上部署多个实例。它指出了三个必须解决的问题,但解决方案都是特定于 Azure 的。

http://docs.orchardproject.net/Documentation/Deploying-Orchard-to-Windows-Azure

  1. 存储在文件系统上的媒体文件。App_Data 文件夹中也存储有文件,例如搜索索引。这不也是个问题吗?解决这个问题的最佳方法是什么?从文件共享中运行网站?使用 Windows DFS 复制更改?我不想使用文件共享
  2. 输出和数据库缓存使用本地内存进行存储,结合信号仅在本地服务器上触发缓存失效。分布式事件模块是否解决了这个问题?https://orcharddistributedevents.codeplex.com/ 或者 Orchard.Redis 的功能?
  3. 会话状态存储在本地内存中。我想我可以在负载平衡器上启用粘性会话,或者只使用 SQL Server 来获取会话状态。

我发现了一篇旧帖子(Orchard CMS on Load Balanced web servers,回到 Orchard 1.1),它建议在 web.config 中设置机器密钥设置。

我怀疑我会遇到热身模块的问题?我遇到了 Orchard.TaskLease 模块,这似乎暗示在多台服务器上运行的任务应该只在一台服务器上运行时存在问题。

是否有人在负载平衡的非 Azure 环境中成功部署了 Orchard?您建议使用哪些模块和特殊配置来完成这项工作?

4

0 回答 0