负载均衡及HAProxy介绍安装

什么是负载均衡:

• 负载均衡(Load Balance,简称LB)是一种服务或基于硬件设备等实现的高可用反向代理技术,负载均衡将特定的业务(web服务、网络流量等)分担给指定的一个或多个后端特定的服务器或设备,从而提高了公司业务的并发处理能力、保证了业务的高可用性、方便了业务后期的水平动态扩展。
阿里云SLB介绍

为什么使用负载均衡:

• Web服务器的动态水平扩展
    • 对用户无感知
• 增加业务并发访问及处理能力
    • 解决单服务器瓶颈问题 单机故障
• 节约公网IP地址
    • 降低IT支出成本
• 隐藏内部服务器IP
    • 提高内部服务器安全性
• 配置简单
    • 固定格式的配置文件
• 功能丰富
    • 支持四层和七层,支持动态下线主机
• 性能较强
    • 并发数万甚至数十万

常见有哪些负载均衡:

• 软件负载:
• 四层:
    • LVS(Linux Virtual Server)
    • HAProxy(High Availability Proxy)
    • Nginx(1.9)
    • ……
• 七层:
    • HAProxy
    • Nginx
    • ……
• 硬件负载:
    • F5
    • Netscaler
    • ……

典型应用场景:

• 应用场景:
    • 四层:Redis、Mysql、RabbitMQ、Memcache等
    • 七层:Nginx、Tomcat、Apache、PHP 、图片、动静分离、API等

HAProxy介绍

• HAProxy: 是法国开发者Willy Tarreau开发的一个开源软件,是一款具备高并发、高性能的TCP和HTTP负载均衡器,支持基于cookie的持久性,自动故障切换,支持正则表达式及web状态统计。
• LB Cluster:
    四层:lvs, nginx(stream模式且nginx1.9.0或更新版本),haproxy(mode tcp)
    七层:http: nginx(http), haproxy(mode http), httpd...
• 官网:
    http://www.haproxy.org
    https://www.haproxy.com
• 文档:
    https://cbonte.github.io/haproxy-dconv/

HAProxy功能

• HAProxy是TCP / HTTP反向代理服务器,尤其适合于高可用性高并发环境
    • 可以针对HTTP请求添加cookie,进行路由后端服务器
    • 可平衡负载至后端服务器,并支持持久连接
    • 支持基于cookie进行调度
    • 支持所有主服务器故障切换至备用服务器
    • 支持专用端口实现监控服务
    • 支持不影响现有连接情况下停止接受新连接请求
    • 可以在双向添加,修改或删除HTTP报文首部
    • 支持基于pattern实现连接请求的访问控制
    • 通过特定的URI为授权用户提供详细的状态信息
• 历史版本更新功能:1.4 1.5 1.6 1.7 1.8 1.9 2.0-dev
    • 1.8:多线程,HTTP/2缓存……
    • 1.7:服务器动态配置,多类型证书……
    • 1.6:DNS解析支持,HTTP连接多路复用……
    • 1.5:开始支持SSL,IPV6,keepalived……

HAProxy安装

• Centos通过yum方式安装:
• yum install haproxy
在这里插入图片描述
• Ubuntu 安装:
• apt-get install haproxy
在这里插入图片描述

编译安装HAProxy
• yum install gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemddevel net-tools vim iotop bc zip unzip zlib-devel lrzsz tree screen lsof tcpdump wget ntpdate
• 编译安装:
    • tar xvf haproxy-1.8.16.tar.gz && cd haproxy-1.8.16 
    • make ARCH=x86_64 TARGET=linux2628 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_CPU_AFFINITY=1 PREFIX=/usr/local/haproxy
    • make install PREFIX=/usr/local/haproxy
    • cp haproxy /usr/sbin/
• 创建启动脚本:
    • cat /usr/lib/systemd/system/haproxy.service
    • [Unit]
    • Description=HAProxy Load Balancer
    • After=syslog.target network.target
    • [Service]
    • ExecStartPre=/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c -q 
    • ExecStart=/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid
    • ExecReload=/bin/kill -USR2 $MAINPID
    • [Install]
    • WantedBy=multi-user.target
• 创建目录和用户:
    • mkdir /etc/haproxy
    • useradd haproxy -s /sbin/nologin
    • mkdir /var/lib/haproxy
    • chown haproxy.haproxy /var/lib/haproxy/ -R 
    • systemctl restart haproxy
    • cat /etc/haproxy/haproxy.cfg 
    • ……
    • haproxy.cfg文件中定义了chroot、pidfile、user、group等参数,如果系统没有相应的资源会导致haproxy无法启动,具体参考日志文件/var/log/messages
• 启动HAProxy: 
    • systemctl enable haproxy
    • systemctl restart haproxy

验证HAProxy

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值