iis 怎样部署 实现负载均衡
关于ASP.NET中的负载均衡
ASP NET站点中做负载均衡
基于HTTP协议我们可能发现我们要解决两点问题
第一 做到负载均衡 我们需要一个负载均衡器
可以通过DNS轮询来做 在DNS服务器上配置为每次对我们做负载均衡的同一主机名的DNS查询得到不同的IP地址 这样的好处是配置简单投入较小 缺点是浏览器访问各个服务器的机会是均等的 不能根据服务器的负载程度自动把请求路由到负载较小的服务器
可以通过专用的负载均衡设备 通过监测后台数台服务器的负载情况 自动把HTTP请求转发到负载较轻的服务器 另外必须监测后台服务器的IIS负载情况 而不是整台服务器的CPU负载 同时可能需要在负载均衡器和后台服务应用之间建立心跳连接 以避免出现某台服务器IIS进程或者其中跑的应用已经down掉 负载均衡器反而监测到这台服务器的负载最小而把大量请求转发的这台服务器 达到相反的效果
第二 Session状态的保持和迁移
由于HTTP协议的无状态性 我们一般是在Session中保存客户端的一些状态数据 负载均衡之后 前后两次HTTP请求所到达的服务器可能不是同一台 这就造成可能出现这样的情况 前一此请求处理中设置的ssion在第二次请求中变得不可用了 造成应用程序出错 所以我们要把ssion跟随迁移 实现的方法就是ssion的统一存储和服务器间共享
在ASP NET中服务器保存ssion有五种方式 Off不说了 InProc是保存在服务器进程的内存中 显然不能满足要求 另外两种能够满足
StateServer是把ssion保存在专门的状态服务器中 这样各台服务器都存取同一个StateServer 达到共享的目的
SQLServer是把ssion保存在数据库中 同样能达到目的
Custom自定制的存储方案 我们自己写当然能够实现
比较一下 Custom这种自己实现比较麻烦一般不用 SQLServer可以利用数据库的cluster达到高性能和高可用性的目的 StateServer当然也可以通过手段达到高可用性 不过似乎不能实现集群所以性能也有所限制
另外如果要做负载均衡在StateServer和SQLServer中配置ssion时 必须在nfig中重写machineKey节点
<machineKey
validationKey= AAAAAAAAAA
decryptionKey=
validation= SHA
decryption= Auto
/>
否则各个应用服务器拿到的ssion还是不一样的
lishixinzhi/Article/program/net/201311/12775
网络负载均衡的验证方法
网络负载均衡配置好后,为了实现某项具体的服务,需要在网络负载均衡的计算机上安装相应的服务。例如,为了实现IIS网站的负载均衡,需要在相应的网络负载均衡服务器上安装IIS服务。为了让每个用户在通过网络负载均衡访问到不同的计算机时,能够访问到一致的数据,需要在网络负载均衡的每台计算机上保持数据的一致性。举例来说,实现了两个节点的IIS的网络负载均衡,为了保证两个网站内容的一致性,除了这两个IIS服务器的配置相同外,相应的网站数据必须一致。
为了检验网络负载均衡,我们可以通过IIS来进行验证,其他的一些应用如终端服务、Windows Media服务与IIS的应用与之相类似。在其他计算机上的IE浏览器中键入192.168.0.9,根据网络的负载,网络负载均衡会自动转发到A机或B机。为了验证效果,你可以在浏览的时候,拔掉第一台计算机的网线或拔掉第二台机器的网线,将会发现浏览到的将是不同内容。当然,我们在测试的时候,为了验证网络负载均衡的效果,把两个网站设置成不一致的内容,而在正式应用的时候,网络负载均衡群集的每个节点计算机的内容将是一致的,这样不管使用哪一个节点响应,都能保证访问的内容是一致的。
iis 负载均衡 如何保存ssion状态
多台服务器如何做网络负载均衡?
1:找分区或目录同步软件,某台服务器改动了自动把修改应用到别的服务器,比如红旗的HA。
2:换种建服务器的思路,后台用一台独立的服务器做数据库和文件服务器,用来存放数据库和上传的文件,另外的做负载均衡运行服务器,把不需要变动的网页程序放上面。
本文发布于:2023-02-28 19:24:00,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/167761378859491.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:iis负载均衡(iis负载均衡高可用方案).doc
本文 PDF 下载地址:iis负载均衡(iis负载均衡高可用方案).pdf
留言与评论(共有 0 条评论) |