【发布时间】:2010-12-23 23:19:34
【问题描述】:
将ASP.NET 应用程序部署为web farm 时需要注意哪些问题?
【问题讨论】:
将ASP.NET 应用程序部署为web farm 时需要注意哪些问题?
【问题讨论】:
HOW TO: Set Up Multi-Server ASP.NET Web Applications and Web Services
日志聚合很容易被忽略 - 在处理 HTTP 日志之前,您可能需要将它们组合起来以创建一个日志,其中包括发送到跨服务器的请求。
【讨论】:
【讨论】:
所有会话状态信息都需要跨服务器复制。如前所述,最简单的方法是使用 MSSQL 会话状态提供程序。
任何磁盘访问,例如用户存储的动态文件,都需要位于所有服务器都可用的区域。例如通过使用某种形式的网络附加存储。脚本文件、图像和 html 等将被复制到每个服务器上。
尝试在应用程序对象中存储任何信息或在应用程序启动时加载信息都需要进行审查。每次用户点击农场中的新机器时,都会触发这些事件。
正如其他人所建议的那样,每台服务器上的机器密钥都非常大。如果您对 IP 地址而不是域使用 ssl,您也可能会遇到问题。
您必须考虑要采用哪种负载平衡策略,因为这可能会改变您的方法。
【讨论】:
我遇到的一个大问题是不同机器密钥分布在不同服务器上的问题。 ASP.NET 使用 machineKey 进行各种加密操作,例如 ViewState 和 FormsAuthentication 票证。如果您有不同的机器密钥,您最终可能会导致服务器无法理解来自其他服务器的回发。如果您想了解更多信息,请查看此处:http://msdn.microsoft.com/en-us/library/ms998288.aspx
【讨论】:
会话很大,请确保您使用 SQL Server 来管理会话,并且所有服务器都指向同一个 SQL Server 实例。
【讨论】:
State information,只是为了更通用;这个领域包括Cache和Application数据