• IIS 负载均衡


    在大型Web应用系统中,由于请求的数据量过大以及并发的因素,导致Web系统会出现宕机的现象,解决这一类问题的方法我个人觉得主要在以下几个方面:

    1.IIS 负载均衡。

    2.数据库 负载均衡。

    3.系统架构优化,比如报表服务器和应用服务器分开等。

    本文主要介绍以下IIS负载均衡的实现方法,作者也是慢慢摸索的,如有不当之处还请各位大神指点以下,以求共同进步!!

    演示环境介绍:

    Server 1: 18.13 (用来分流的IIS服务器)。

    Server 1: 18.49 (用来分流的IIS服务器)。

    Server 1: 50.32 (用户所访问的服务器)。

     用来演示的网站:一个名为WebTest的网站,内容就是一张图片,足以达到演示效果。

    安装Server Farms ,如下图所示:

    整个安装步骤非常简单,跟着提示走即可,安装完成之后在IIS里面可以看到Server Farms的项目了,如下图所示:

    现在我们通过Server Farms 来创建Server,如下图所示:

    有多少个IIS服务器就创建多少个,我这里创建了2个,创建完成之后可以在“运行状态测试”中进行测试,如下:

    Server Farms判断目标IIS服务器是否正常,是通过目标服务器里面的某一个文件返回的数据来判断的,具体配置如下所示,health.txt是用来作为验证 的一个文件,里面的内容是OK,那么如果这个文件返回的数据是OK,Server Farms则会判断该服务器为正常状态,反之则不正常:

    对于如何去平衡服务器的压力,Server Farms已经提供了一些算法,具体如截图所示,这里不做详细的介绍,大家有兴趣的话可以逐个测试一下,

    两台IIS服务器验证成功,说明我们的配置是正确的,下一步我们来测试一下:我直接访问50.32服务器,这个时候呈现出来的页面是18.49这个服务器上面的图片。

    OK,现在我将18.49这台服务器的IIS停止掉,如下图所示:

    当18.49这台服务器的IIS停止以后,我们再次查看Server Farms里面的服务器状态,如下图所示:

    当18.49挂了之后,我们再次访问50.32服务器,结果出来了:

    结论:当配置了多台IIS服务器之后,根据我们定义的均衡规则和算法,它会自动为我们协调和分配当前的请求来达到分流的目的,上面的演示中,当18.49无法访问的时候,自动贝切换到了18.13服务器。

    PS:虽然是不同的服务器,呈现出来不同的内容,这里我是为了便于查看效果,所以采用的不同的图片来显示,不然不容易区分。

  • 相关阅读:
    swagger Unable to render this definition
    企业应用向ASP.NET Core迁移
    .NET Core EF框架使用SQL server 2008数据库分页问题:Incorrect syntax near 'OFFSET'. Invalid usage of the option NEXT in the FETCH statement
    .NET Core应用中使用分布式缓存及内存缓存
    .NET Core Session的使用方法
    .NET Core 2.1中的HttpClientFactory最佳实践
    转载:ZooKeeper Programmer's Guide(中文翻译)
    Python【map、reduce、filter】内置函数使用说明(转载)
    Python使用基础
    Redis Sentinel:集群Failover解决方案(转载)
  • 原文地址:https://www.cnblogs.com/feng-NET/p/5144958.html
Copyright © 2020-2023  润新知