负载均衡架构学习

负载均衡分类

负载均衡可以理解为任务的分配。当整个后台服务要处理很多任务,那么该选择用哪个机器去处理任务,这往往需要我们做决策,这也即是负载均衡的决策
常见负载均衡系统分类有三类:

  1. DNS负载均衡
  2. 硬件负载均衡(负载粒度更大,通常为集群级别)
  3. 软件负载均衡(负载粒度更小,通常为机器级别)

DNS负载均衡

DNS负载均衡
如上图所示,DNS负载均衡主要用来帮助用户选择最近的服务器进行响应。比如同样一个请求www.baidu.com的请求,DNS负载均衡就可以根据你的地域选择最近的服务器,比如你在广东,就给你选华南地区的服务器进行处理。如果你在东北,就给你选华北服务器进行处理。

优点:实现简单,直接交给DNS服务器处理就好了,可以提升访问速度,因为选择最近的服务器处理嘛
缺点:DNS有缓存,并且有效时间也不短,就算DNS配置更新后,由于缓存原因也会访问到之前的IP,导致负载均衡失败

硬件负载均衡系统

常见的硬件负载均衡设备有:

  1. A10
  2. F5
    可以理解为是一个挡在一些集群前的一个任务分发器或者路由器
    优点:功能强大,可以实现各种负载均衡算法,可支持的并发能力也比较强,软件负载均衡并发量级在十万,那么硬件负载均衡可以到百万级。安全性也高,支持防火墙等
    缺点:就是贵(但这其实是我们的缺点),扩展性一般,没办法根据某些场景定制化

软件负载均衡

常见的有:

  1. LVS(四层架构,即在传输层,(ip+端口)进行负载均衡,TCP/UDP负载均衡),适用性高,基本所有的协议上层协议都是基于传输层的
  2. Nginx(七层架构,在应用层,基于应用层协议负载均衡,http和https等,你可以看到nginx配置文件配置的时候都要写完成的url,协议+ip+端口)

LVs负载均衡架构图

nginx负载均衡架构图
总的来说都是对任务的分发,不过实现的架构中角色种类和职责不同。
优点:便宜,随便一台服务器都可以做Nginx或者lvs负载均衡服务器。部署较为简单,配置也比较灵活。
缺点:性能不高,并且安全性一般,没有防火墙功能。

最后:

三种负载均衡系统可以一起使用:

  1. DNS服务器做为第一层负载均衡,负载均衡到最近的服务器(地域级别)
  2. 硬件负载均衡粒度更大,可以作为第二层级负载均衡,负载均衡某一个集群上(集群级别)
  3. 集群内通过Nginx也可以进行负载均衡(机器级别)
    在这里插入图片描述
    ps:上述讲的是架构层面上的负载均衡选型。更细一点来说:无论是dns负载均衡,还是软硬件负载均衡,低层实现分派任务肯定要根据某个算法来做的:常见的有轮训,加权轮训,Hash,最小负载(就是根据服务器的cpu负载,io负载,连接数等选择比较小的机器,然后发任务)等等
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值