网站的负载平衡和高可用性

网站的负载平衡和高可用性

我们正在开发一个数据库驱动(70%/30% 读/写负载)的网站,使用 C#.NET、IIS 和 MS SQL Server 2008 托管在 Windows 2008 上。由于合同原因,我们的设置必须托管在我们自己的物理/虚拟服务器上,而不是现阶段的云解决方案上。

有人可以概述或链接到一些最佳实践,这些最佳实践既能为我们的网站提供高可用性(目前优先考虑),又能最终实现负载平衡。我们可能正在考虑某种 2 SQL 服务器镜像系统和 2 ISS Web 服务器作为起点。

提前致谢。

答案1

  1. 为了实现负载平衡,请避免使用会话状态。如果必须使用会话,请使用 SQL 数据库;您可以使用自定义的 SessionState 提供程序来避免单点故障,但数据库的实现和管理要容易得多。使用具有“会话粘性”的负载平衡器只会将故障点转移到负载平衡器。

  2. SQL 2008 数据库可以在两台服务器之间进行镜像/集群,并且故障转移伙伴在网站的连接字符串中列出。

    注意:Microsoft 的 SQL 许可允许单个许可证涵盖两个都主动服务器和被动镜像,只要镜像在 30 天内恢复故障。请参阅第 2 页的图表SQL Server 2008 定价和许可文档。

  3. Richard Kiessig 的书“超快 ASP.NET:使用 ASP.NET 和 SQL Server 构建超快、超可扩展的网站“(Apress)有很多关于 ASP.NET、IIS 和 SQL Server 的实际技巧。强烈推荐。

相关内容