gpt4 book ai didi

iis - IIS 7 上的负载均衡网站

转载 作者:行者123 更新时间:2023-12-02 02:37:32 24 4
gpt4 key购买 nike

正在考虑为 IIS 上的 Windows 托管网站实现负载平衡,但想知道这样做涉及的问题。网站是 ASP.NET - 混合了自定义身份验证和 ASP.NET 身份验证。例如:

  • 文件:存储在网络共享上是显而易见的选择,但我预计它会对文件服务器提出大量要求,使网站变慢,并可能导致“已达到网络 BIOS 命令限制”问题,或速度变慢其他数据流量
  • session 状态:最好存储在 SQL 数据库中,以防止响应来自不同服务器时出现问题?这该怎么做?我认为是 web.config 设置?
  • 服务器停机时间:当服务器停机(崩溃、硬件故障等)或更新时,网站是否还能正常运行?
  • DNS:因为它是负载平衡的,我假设站点需要两个 IP 地址?使用 Microsoft DNS

关于文件,它们是否可以轻松地在服务器之间同步?最多可能有 8MB 的文件(有时更大)。 DFS 是 future 可能考虑的一个选项,但是否有其他技术(除了 robocopy)可以使用?

最佳答案

  • 文件:指向网络共享解决了一​​些问题并引入了其他问题,例如单点故障。对文件共享进行集群可以稍微缓解这种情况,但您仍然只有一份数据副本。我更喜欢无共享方法,其中内容对于每个网络服务器都是本地的,从而消除了 SPOF 并在提供内容时将网络从等式中移除。我目前正在使用 robocopy 来执行此操作,而不是 DFS - 不喜欢 AD 绑定(bind),对分区网络基础结构中服务器放置的限制。 Robocopy 也不理想。

  • session 状态 - 同意,ASPState SQL 数据库。不过,在我考虑这个问题时,请确保在 web.config 中为所有服务器设置一个通用的机器 key 。

放下<sessionState
allowCustomSqlDatabase="true"
cookieName="yourcookiname"
mode="SQLServer"
cookieless="false"
sqlConnectionString="connnstringname"
sqlCommandTimeout="10"
timeout="30"/>

<connectionStrings>
<add name="connstringname" connectionString="Data Source=sqlservername;Initial Catalog=DTLAspState;Persist Security Info=True;User ID=userid;Password=password" providerName="System.Data.SqlClient"/>
</connectionStrings>

进入 web.config。最后,运行C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe -S sqlservername -E -ssadd -sstype p

  • 服务器停机 - 当单个服务器停机时,网站仍可正常运行。当然,这取决于您的网络服务器 - 确保它没有使用“ping”作为唯一指标来确定它是否应该向该网络服务器发送请求。
  • DNS - 单项。遗憾的是 HTTP 不支持 SRV 记录。

关于iis - IIS 7 上的负载均衡网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/777921/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com