• 记一次阿里云负载测试


    环境:

    服务器:主服务器A,备服务器B(主服务器配置和带宽都大于备服务器器)

    业务:tomcat

    端口:443,80

    协议:https

    域名:www.danny.com

    证书:ssl证书,域名绑定了ssl证书并都配置安装在AB服务器中

    要求:主要使用A服务器跑业务,B服务器只有在A服务器不可用时才接受访问流量

    阿里云负载均衡后台转发服务器组选择:

    1.后端服务器

    和传统后端服务器组基本没区别,通过转发规则实现流量分发,达到负载均衡的目的。

    2.虚拟服务器组

    当需要将不同的请求转发到不同的后端服务器上时,或需要通过域名和URL进行请求转发时,可以选择使用虚拟服务器组。

    3.主备服务器组(满足要求)

    即后端服务器中有一台主机和一台备机。当主机工作正常时,流量将直接走主机;当主机宕机时,流量将走到备机。由于备机不会做健康检查,所以只要主机健康检查失败,系统会直接将流量切到备机。当主机健康检查成功恢复服务后,流量会自动切到主机。

    实现步骤

    1.添加主备服务器组,添加主备端口443,勾选备机

    2.添加监听规则,使用TCP监听(主备服务器组只支持TCP四层监听),监听端口443,健康检查端口443(默认为后台服务器组端口),当然也可以用域名做健康检查。

    这条规则的意思是用户到负载为443端口的请求转发到后台服务器的443端口。

    3.继续添加监听规则,使用http监听,监听端口80,健康检查端口80。(当然这步是没有用到主备服务器组的,用的是后端服务器组,因为主要流量需要通过主服务器,这时可以设置权重1:100来解决,因为对于https的我们公司业务来说,基本都是https访问的,这一步主要针对直接用http协议访问的用户。没办法,试过1.https监听,2.http监听,3.全tcp监听,4.https和http重定向结合监听,5.一个tcp443端口监听等多种监听搭配都不能访问或不能用http直接访问,问题提交工单也没解决,这算是一个折中的办法吧——在很少的http直接请求用户中,又只有很少一部分请求会转给备机,综合基本99%的请求还是直接通过主业务机,基本达到要求吧)

     这条规则的意思是用户到负载为80端口的请求转发到后台服务器的80端口,后台接受到80端口的信息,也就是http非ssl证书请求会自动转发给https(前提是需要在绑定ssl证书时在后台设置tomcat请求转发),最终可以实现一些http请求重定向到https

    结果如下:

     

    4.解析域名到负载公网IP上

    5.https访问即可,也可直接通过http访问(安装ssl证书时别忘了做http跳转https的设置,详见https://cloud.tencent.com/document/product/400/4143)

    访问www.danny.com即可自动补全跳转到https://www.danny.com

    总结:监听设置有很多坑,理论上可以实现,实际却不一定,比如说设置一个https监听,后端80,理论上是可以访问https页面的,但是我测试的时候不能,网页打不开,其他监听规则一样。以上方法是结合多种失败总结出来的,记录一下。当然也可能是我的web是tomcat有关,不同的web如nignx,设置方式也不同。

    注意:

    负载均衡监听规则很多,分别有http、https、TCP、UDP监听,四层监听为TCP和UDP;七层监听为http和https。具体使用什么监听规则看具体网站所用协议,底层监听适用范围大于高层监听。比如上面提到的https协议网站就可以用TCP监听,当然前提是绑定安装了ssl证书。

     

  • 相关阅读:
    九种常用排序的性能分析总结
    C语言输出格式总结
    线程安全的单例模式
    反射原理
    二进制的计算(计算机为什么采用补码存储数据)
    java程序员必须会的技能
    09网易校园招聘笔试题
    Spring获取ApplicationContext方式,和读取配置文件获取bean的几种方式
    【转】策略与机制分离
    VM PowerCli的简单安装和使用学习
  • 原文地址:https://www.cnblogs.com/dannylinux/p/9066277.html
Copyright © 2020-2023  润新知