HAProxy快速入门(零)—— 负载均衡简介

负载均衡,顾名思义,就是讲用户的请求均衡的发给多个服务器。

负载均衡 ,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力,同时能够提高网络的灵活性和可用性。

 

负载均衡的好处

  1. 透明:对用户来说,不管背后有多少服务器集群,用户感知就像访问一台服务器一样。
  2. 高性能:三个臭皮匠赛过诸葛亮,人多力量大。
  3. 水平扩展:再多部署一台服务器很容易。
  4. 高可用:挂了一台,还有可以切换到其他的正常的服务器。

 

负载均衡的技术

最常用的有3种:

  1. Nginx:最最常用,毫无疑问国内使用最多的
  2. LVS:
  3. HAProxy:最近在用的
  4. F5:硬件负载均衡器,收费。

常用的使用方式:

  • Web端:Nginx/HAProxy+Keepalived
  • 后端:MySQL主从及读写分离,LVS+Keepalived

 

负载均衡的种类

有很多种负载均衡

  1. 二层负载均衡:基于MAC地址
    1. 通过一个虚拟的MAC地址接收请求,然后把请求分配到真实MAC地址
  2. 三层负载均衡:基于IP地址
    1. 通过一个虚拟的IP地址接收请求,然后把请求分配到真实IP地址
    2. 分析IP层和TCP/UDP层(传输层)
  3. 四层负载均衡:基于IP+端口
    1. 通过虚拟IP+端口接收请求,然后把真实请求分配到真实服务器
  4. 七层负载均衡:基于URL等应用层信息
    1. 通过虚拟的URL接收请求,然后把请求分配到真实的服务器
    2. 分析HTTP的URL或Cookie(应用层)

 

没有负载均衡

没有负载均衡时的Web应用通常如下图所示:

我们可以看到,用户是直连Web服务器的。简单是简单,但是可能会遇到以下问题:

  • Web服务器挂了:用户就无法访问应用了
  • 如果短时间内大量用户同时访问Web应用,服务器可能会响应变慢甚至挂了

 

4层负载均衡

实现多台服务器的负载均衡最简单的方式使用4层负载均衡。

4层负载均衡是基于IP+端口的负载均衡。

是传输层的负载均衡。

如下图所示:

 

7层负载均衡

7层负载均衡就是基于URL等应用层信息的负载均衡。

7层负载均衡是应用层负载均衡。

负载均衡算法

多个服务器,要选用哪一台,所以总得有个规则,这就是负载均衡的算法。

常用的算法有:

  1. roundrobin轮询:轮流选择,公平公正,这也是默认算法
  2. 最小连接:选最闲(当前连接数最少的)的服务器。长连接时可以考虑用这种。
  3. hash散列:根据IP地址做hash散列,这样就可以同一个IP的始终(除非重启了)访问同一台服务器。

 

高可用

High Availability,也就是HAProxy中的HA。

高可用,顾名思义就是高度可用,就算HAProxy挂掉了也还是可以用,应用服务不受影响,用户照样访问。

这样一台HAProxy肯定是不行的——这就是单点。

那么很简单,同时准备几台HAProxy呗,这样就消除单点了。高可用就是消除单点。比如数据库的高可用就几个数据库集群。

常见的HA高可用配置如下所示:

比较容易理解,一台HAProxy正常工作接收用户请求。

另一台是冗余,但它不是多余。它会周期检测工作的HAProxy的健康状态,当原来的状态异常时,就激活另一台HAProxy,接收用户请求。这就是failover机制,故障转移机制。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值