两台Windows的 IIS 应用站点 基于NLB + ARR 实现双机热备和负载
IIS负载均衡中我们使用微软的ARR,但提到网站的高可用性,ARR只能做请求入口的消息分发服务,这样如果我们的消息分发服务器给down掉啦,那么做再多的应用服务集群也都枉然。
这里我们主要针对解决这一问题来做分析,引入NLB,相对于ARR来说,ARR算是应用级别的负载均衡方案,而NLB则是服务器级别的负载均衡方案。
如果微软的这两款方案我们结合起来使用,那便是微软高可用网站方案的天作之合啦。
图一:
ARR可以检测到你的iis应用是否可用,并对用户的请求实施负载均衡方案,根据我们配置的负载均衡算法,把用户的请求分发到应用服务器中。
但是,如果我们的ARR服务器down掉之后,我们的整个应用程序就无法使用,达不到24*7用不宕机的高可用要求。
图二:
NLB可以最多可以配置32台服务器,这32台服务器通过拥有自己的独立ip之外,还共有一个虚拟IP,用户访问虚拟ip,nlb集群根据配置的负载算法来确定把用户的请求分发给那台应用服务器,如果一台NLB服务器down掉,则不会影响消息的分发可达到7*24小时不down机的高可用方案。
但是,NLB不能检测应用你的iis网站是否down掉,只能检测服务器是否down掉,这样一来,如果你的iis网站已经停止啦,nlb还给分发用户请求,那样麻烦可就来啦。
图三:
分类:
瞎捣鼓
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端