当前位置: 首页 > news >正文

Haproxy负载均衡介绍即部署

  • haproxy的原理:
    • 提供高可用、负载均衡以及基于TCP(四层)和HTTP(七层)应用的代理,支持虚拟主机,开源可靠的一款软件。
    • 适用于哪些负载特别大的web站点,这些站点通常又需要回话保持和七层处理。
    • haproxy运行在时下的硬件上,完全可以支持数以万计的并发连接。
  • haproxy的特性:
    • 可靠和稳定性非常好,可以与硬件级的F5负载均衡设备相互媲美
    • 支持8中负载均衡算法,也支持会话保持
    • 拥有强大的ACL支持,用于访问控制
    • 支持客户端的keepalived功能,减少客户端与haproxy的多次三次握手导致资源量费,让多个请求在一个tcp连接中完成。
    • 自身带有详细的健康状态检测
    • 日志分析器,可对日志进行分析
  • 配置文件:
    • haproxy.cfg主要有两部分组成:global和proxies配置段
      • global:全局配置
        • 进程及安全配置相关的参数、性能调整相关的参数、Debug参数
      • proxies:代理配置段
        • defaults:为为frontend, backend, listen提供默认配置
        • fronted:前段,相当于nginx,server{}
        • backend:后端,相当于nginx,upstream{}
        • listen:同时拥有前段和后端,适用于一对一环境
  • 本章实验配置:
    • haproxy调度器:192.168.8.8
    • 网站节点1:192.168.8.9
    • 网站节点2:192.168.8.10
      • 1.配置调度器:
        • 安装haproxy:
        • yum -y install haproxy
        • vim /etc/haproxy/haproxy.cfg
          • #定位63行 frontend main *:80 (将后面端口修改为80)
          • 修改backend字段:
            • server real_server1 192.168.8.9:80 check inter 10000 rise 1 fall 3 weight 1
            • server real_server2 192.168.8.10:80 check inter 10000 rise 1 fall 3 weight 1
            • 配置解释:
              • balance (roundrobin):轮询算法
              • check inter 1000:每隔1000毫秒检测一次
              • rise 1:检测成功一次立即加入群集中
              • fall 3:检测失败三次,立即标记为不可用
              • weight 1:权重值为1
        • 启动服务:systemctl start haproxy
      • 2.分别在8.9和8.10服务器上安装nginx,修改网页,测试轮询
        • web1:
          • yum -y install nginx
          • echo "web1" > /usr/share/nginx/html/index.html
          • systemctl start nginx
        • web2:
          • yum -y install nginx
          • echo "web2" > /usr/share/nginx/html/index.html
          • systemctl start nginx
      • 3.使用浏览器访问:
        • http://192.168.8.8
          • 刷新网页,实现了web1和web2之间的切换
      • 4.添加监控页面配置在haproxy.cfg配置文件中:
        • vim /etc/haproxy/haproxy.cfg
          • 添加在最下方即可:
            • listen admin_stats
            • bind *:11001
            • mode http
            • stats refresh 30s
            • stats uri /admin
            • stats realm welcome login\ Haproxy
            • stats auth admin:admin123
            • stats admin if TRUE
          • 重启服务:systemctl restart haproxy
        • 通过访问网页方式,查看监控页面
          • http://192.168.8.8:11001/admin
            • 用户名:admin
            • 密码:admin123
      • 5.配置haproxy session会话保持:
        • vim /etc/haproxy/haproxy.cfg
          • 修改backend 字段更换为:
            • backend app
            • mode http
            • option redispatch
            • option abortonclose
            • balance source
            • cookie SERVERID
            • option httpchk GET /index.html
            • server app1 192.168.8.9:80 cookie server1 check
            • server app2 192.168.8.10:80 cookie server2 check
        • 再次访问http://192.168.8.8
        • 点击刷新发现不会再轮询了,这就代表会话保持实现了
http://www.lryc.cn/news/326675.html

相关文章:

  • 基于大语言模型的云故障根因分析|顶会EuroSys24论文
  • Windows直接运行python程序
  • 经典应用丨光伏行业扫码追溯新标杆,海康机器人AI智能读码器!
  • 逆流而上的选择-积极生活,逆流而上
  • SpringMVC基础Controller
  • spark 参数
  • java调用jacob进行文件转换ppt转pdf或者png
  • 鸿蒙HarmonyOS应用开发之使用DevEco Studio模板构建NDK工程
  • uniapp流浪动物救助小程序Java宠物领养小程序springboot
  • 工程企业的未来选择:Java版工程项目管理系统平台与数字化管理的融合
  • Vue使用el-statistic和el-card显示大屏中的统计数据
  • 12.2024
  • 【学习心得】Jupyter常用操作与魔法方法
  • Linux命令别名
  • Docker和 Containerd 的区别
  • Qt实现TFTP Server和 TFTP Client(二)
  • 【b站李炎恢】Vue.js Element UI | 十天技能课堂 | 更新中... | 李炎恢
  • AI大语言模型工程师学习路线
  • 基于树莓派实现 --- 智能家居
  • 基于Arduino IDE 野火ESP8266模块 一键配网 的开发
  • 左手医生:医疗 AI 企业的云原生提效降本之路
  • ceph集群部署
  • C#WPF控件Label宽度绑定到父控件的宽度
  • HMI的学习
  • 工业无线网关在汽车制造企业的应用效果和价值-天拓四方
  • 校园app开发流程-uniapp开发-支持APP小程序H5-源码交付-跑腿-二手市场-交友论坛等功能,学校自由选择!
  • Machine Learning机器学习之K近邻算法(K-Nearest Neighbors,KNN)
  • 四、在数据库里建库
  • 蓝桥杯-网络安全比赛(2)基础学习-正则表达式匹配电话号码、HTTP网址、IP地址、密码校验
  • 如何创建azure pipeline