SLB负载均衡haproxy的安装及使用

news2024/11/13 22:17:43

1.介绍

HAProxy是什么

HAProxy是一个免费的负载均衡软件,可以运行于大部分主流的Linux操作系统上。

HAProxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力,具备丰富的功能。HAProxy的社区非常活跃,版本更新快速(最新稳定版1.7.2于2017/01/13推出)。最关键的是,HAProxy具备媲美商用负载均衡器的性能和稳定性。

因为HAProxy的上述优点,它当前不仅仅是免费负载均衡软件的首选,更几乎成为了唯一选择。

HAProxy的核心功能

  • 负载均衡:L4和L7两种模式,支持RR/静态RR/LC/IP Hash/URI Hash/URL_PARAM Hash/HTTP_HEADER Hash等丰富的负载均衡算法
  • 健康检查:支持TCP和HTTP两种健康检查模式
  • 会话保持:对于未实现会话共享的应用集群,可通过Insert Cookie/Rewrite Cookie/Prefix Cookie,以及上述的多种Hash方式实现会话保持
  • SSL:HAProxy可以解析HTTPS协议,并能够将请求解密为HTTP后向后端传输
  • HTTP请求重写与重定向
  • 监控与统计:HAProxy提供了基于Web的统计信息页面,展现健康状态和流量数据。基于此功能,使用者可以开发监控程序来监控HAProxy的状态

2.安装

yum install haproxy

3.配置

global
        daemon
        user root
        group root
        # 工作目录
        chroot /usr/local/etc/haproxy

defaults
        log 127.0.0.1 local0 err #[err warning info debug]
        mode http                #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
        retries 2                #两次连接失败就认为是服务器不可用,也可以通过后面设置
        option redispatch        #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器
        option abortonclose      #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接
        option dontlognull       #日志中不记录负载均衡的心跳检测记录
        maxconn 4096             #默认的最大连接数
        timeout connect 5000ms   #连接超时
        timeout client 30000ms   #客户端超时
        timeout server 30000ms   #服务器超时
        #timeout check 2000      #=心跳检测超时

######## 监控界面配置 #################
listen admin_status
        # 监控界面访问信息
        bind 0.0.0.0:8888
        mode http
        # URI相对地址
        stats uri /dbs
        # 统计报告格式
        stats realm Global\ statistics
        # 登录账户信息
        stats auth admin:123456
########frontend配置##############

######## mysql负载均衡配置 ###############
listen proxy-mysql
        bind 0.0.0.0:23306
        mode tcp
        # 负载均衡算法
        # static-rr 权重, leastconn 最少连接, source 请求IP, 轮询 roundrobin
        balance roundrobin
        # 日志格式
        option tcplog
        # 在 mysql 创建一个没有权限的haproxy用户,密码为空。 haproxy用户
        # create user 'haproxy'@'%' identified by ''; FLUSH PRIVILEGES;
        option mysql-check user haproxy
         # 这里是容器中的IP地址,由于配置的是轮询roundrobin,weight 权重其实没有生效
        server MYSQL_1 10.6.8.173:3306 check weight 1 maxconn 2000
        server MYSQL_2 10.6.8.174:3306 check weight 1 maxconn 2000
        #server MYSQL_3 192.168.130.102:3306 check weight 1 maxconn 2000
        # 使用keepalive检测死链
        # option tcpka
#########################################


######## 代理网站负载均衡配置 ###############

frontend http-webmain
    bind *:31317
    mode http
    option forwardfor
    option http-server-close
    default_backend mybackend

backend mybackend
    mode http
    option forwardfor
    option http-server-close
    server app1 10.0.39.253:31317 check



#########################################


例子2
代理 8081

    global
    maxconn 2000000
    log 127.0.0.1 local1
    #user vyos
    #group users
    uid 1000
    gid 100
    daemon
    #stats socket /home/vyos/zvr/lb/sock/84284cf807fe4398a94ad33da1c55a02.sock user vyos
    stats socket /home/vyos/zvr/lb/sock/84284cf807fe4398a94ad33da1c55a02.sock gid 100 uid 1000
    ulimit-n 4000100

    nbthread 1


defaults
    log global
    option dontlognull
    option http-server-close



frontend 84284cf807fe4398a94ad33da1c55a02
    mode http

    option forwardfor

    bind 10.0.42.108:8081

    timeout client 60s
    default_backend default-84284cf807fe4398a94ad33da1c55a02

backend default-84284cf807fe4398a94ad33da1c55a02
    mode http
    balance roundrobin
    timeout server 60s
    timeout connect 60s
    server nic-192.168.140.189 192.168.140.189:8081 check port 8081 inter 5s rise 2 fall 2

4.启动

haproxy -f haproxy.cfg

在这里插入图片描述

5.删除多余的进程

kill $(ps aux | grep 'haproxy' | awk '{print $2}')

参考

http://www.haproxy.org/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/464559.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【剧前爆米花--爪哇岛寻宝】网络互连,网络通信和网络分层

作者:困了电视剧 专栏:《JavaEE初阶》 文章分布:这是一篇关于网络初识的文章,在这篇文章中讲解了局域网广域网,IP地址,端口以及网络分层等相关内容,希望对你有所帮助! 目录 网络互连…

无线通信网 - 无线局域网 WLAN(802.11 标准)

文章目录 1 概述2 WLAN2.1 802.11 标准2.2 网络分类2.3 通信技术 3 扩展3.1 移动通信3.2 网工软考真题 1 概述 #mermaid-svg-UcgosJsdJfSTEm0Y {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-UcgosJsdJfSTEm0Y .err…

PMO和PM必备六大复盘方法工具汇总

无论是对于企业还是个人来说,复盘都是一个能让我们快速成长的方法,尤其是项目经理和PMO,你是带领项目团队的,每一次项目的完成,都有很多经验,俗话说,最大的浪费是经验的浪费! 复盘的…

如何解决国外主机托管中遇到的常见问题?

在国际化发展的今天,越来越多的企业和个人选择将网站托管在国外主机上。这样做的好处是显而易见的,如更好的网站访问速度、更多的服务器资源、更优质的服务和更灵活的管理权限等。但同时,使用国外主机也会带来一些问题。本文将讨论国外主机托…

浪潮信息龙蜥联合实验室领衔成立 Serverless SIG 打造标准化开源解决方案

近日,浪潮信息龙蜥联合实验室在龙蜥社区领衔成立 Serverless SIG(服务器无感知计算 SIG),并举行了首届 Serverless SIG MeetUp,活动由浪潮信息龙蜥联合实验室主办,来自浪潮信息、天津大学、阿里云、Intel、…

面板数据熵权topsis法分析流程

面板数据熵权topsis法分析流程 一、案例背景 当前有9家公司连续5年(2018-2022年)的财务指标数据,想要通过这份数据,确定9家公司的财务排名情况。因为各项财务指标的权重有所不同,所以选择使用熵权topsis法进行研究。 …

unity GI 系统

间接光没有办法实现实时计算,所以需要一套GI系统去处理间接光。 GI系统主要解决的是间接光漫反射的实现,实现的载体是LightMap、Light Probe、Refletion Probe。需要一个后台程序(离线渲染器)来实现离线渲染。可以根据不同的物体…

iPhone清理工具:4Easysoft iPhone Cleaner for Mac

4Easysoft iPhone Cleaner for Mac是一款Mac上的iPhone清理软件,它可以帮助用户清理iPhone上的垃圾文件、缓存文件、无用图片和视频等,从而释放iPhone的存储空间,提高设备的性能。全面扫描您的 iOS 设备并对不必要的数据进行分类。轻松删除 i…

【软件测试面试】面试技巧,让面试官记住的自我介绍,疯狂收割offer.....

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 在讨论如何自我介…

CASAIM全自动3d测量仪自动检测差速器差壳全尺寸测量装配检测

随着汽车行业的新变化,汽车零部件行业也呈现出新的发展趋势。汽车零部件产品作为汽车制造业的配套产业,发展也十分迅速。  差速器作为汽车关键零部件,由差速器差壳、行星齿轮、半轴齿轮、半轴和行星齿轮轴组装而成。 差速器差壳通常采用一…

算法基础(三)(共有20道例题)

七、数学知识 (一)质数 质数(素数) 的定义: 互质的定义:除了1以外,两个没有其他共同质因子的正整数称为互质,比如3和7互质。因为1没有质因子,1与任何正整数&#xff08…

ASEMI代理ADI亚德诺ADM202EARNZ-REEL车规级芯片

编辑-Z ADM202EARNZ-REEL芯片参数: 型号:ADM202EARNZ-REEL 工作电压范围:4.5-5.5V VCC电源电流:2.5 mA 输入逻辑阈值低:0.8V 输入逻辑阈值高:2.4V 输出电压摆幅:9.0V 变送器输出电阻&am…

IMF: Interactive Multimodal Fusion Model for Link Prediction

[2303.10816] IMF: Interactive Multimodal Fusion Model for Link Prediction (arxiv.org) 目录 1 背景 2 贡献 3 模型 3.1 Overall Architecture 3.2 Modality-Specific Encoders 3.3 Multimodal Fusion 3.4 Contextual Relational Model 3.5 Decision Fusion 3.6 …

GNSS监测站在滑坡和地质灾害中的应用

《地质灾害防治条例》涉及的地质灾害包括崩塌、滑坡、泥石流、地面沉降、地面塌陷和地裂缝等,已成为我国主要的自然灾害,严重威胁着人民的生命财产安全和生存环境以及国家重大工程的建设,制约着我国国民经济的可持续发展。 我国的地质灾害监…

【gcd性质】最小公倍数挑战

题目-最小公倍数挑战 (51nod.com) 题意: 思路: 要找到三个数使得他们的lcm尽可能大 那就让这三个数都两两互质,且三个数的积尽可能大 若n为奇数,考虑n-1和n-2 n和n-1一定互质,那么考虑n和n-2是否互质 结论是&…

【计算机基本原理-数据结构】数据结构中树的详解

【计算机基本原理-数据结构】数据结构中树的详解 1)总览2)树的相关概念3)二叉树、满二叉树、完全二叉树4)二叉查找树 - BST5)平衡二叉树 - AVL6)红黑树7)哈弗曼树8)B 树9&#xff09…

【数据结构】删除二叉树中的结点;树与二叉树的相互转换(含二叉树/二叉排序树的基本运算)

定义二叉树结点和树结点结构体&#xff1a; #include<stdio.h> #include<stdlib.h> #include<assert.h> #include<stdbool.h>typedef int BTDataType; typedef int TDataType;//二叉树 typedef struct BinaryTreeNode {struct BinaryTreeNode* left;…

python requests一个非常蠢的问题: post请求中data和json的区别

问题 最近在写java的ODD cucumber的框架&#xff0c;其中的接口调用相比python来说非常繁琐&#xff0c;很不友好&#xff0c;如下图 所以我打算先用python调一下这个接口,代码如下&#xff0c;url已做脱敏处理 import requests url "http://xxxxxxxxxxxxxxxxxxx:966…

嵌入式安卓开发:使用Camera2获取相机

文章目录 Camera2介绍Camera2的主要API类介绍CameraManager通过CameraManage获取Cameracharacteristics通过CameraManage获取CameraDevice从CameraDevice获取CameraCaptureSession预览效果 参考 Camera2介绍 从Android 5.0开始&#xff0c;Google 引入了一套全新的相机框架 Ca…

银行数字化转型导师坚鹏:银行数字化转型培训方案

目录 一、银行数字化转型培训背景 二、银行数字化转型模型 三、银行数字化转型课程设计思路 四、 银行数字化转型课程基本介绍 五、 银行数字化转型课程设置 六、银行数字化转型课程大纲 七、培训方案实施流程 一、银行数字化转型培训背景 2020年1月3日&#xff…