Linux之Haproxy的部署(负载均衡、动静分离和读写分离等)

一、Haproxy

1. Haproxy的介绍

Haproxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。Haproxy特别适用于那些负载特大的web站点,这些站点通常又需要会保持或七层处理。Haproxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上。

HAProxy 实现了一种事件驱动、单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制 、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。事件驱动模型因为在有更好的资源和时间管理的用户端(User-Space) 实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以 使每个CPU时间片(Cycle)做更多的工作。

2. Haproxy配置文件中各模块的含义

  • global参数是进程级的,通常和操作系统(OS)相关。这些参数一般只设置一次,如果配置无误,就不需要再次配置进行修改;
  • defaults段用于为所有其它配置段提供默认参数;
  • frontend段用于定义一系列监听的套接字,这些套接字可接受客户端请求并与之建立连接;
  • backend段用于定义一系列“后端”服务器,代理将会将对应客户端的请求转发至这些服务器;
  • listen段通过同时指定监听参数与后端服务器简要的定义了一个完整的代理

二、Haproxy的负载均衡

实验准备

  • server1:172.25.65.1(haproxy)
  • server2:172.25.65.2(httpd)
  • server3:172.25.65.3(httpd)
  • 测试机用于测试

1. yum安装软件

yum install -y haproxy

2. 编辑配置文件设置负载均衡策略(server1)

vim /etc/haproxy/haproxy.cfg
frontend  main
    bind     *:80
    default_backend             webserver
backend webserver
    balance     roundrobin
    server      web1 172.25.65.2:80 check
    server      web2 172.25.65.3:80 check
systemctl start haproxy.service
systemctl status haproxy.service

3. server2和ser

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值