负载均衡简述

Posted 马上消费金融基础运维组

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了负载均衡简述相关的知识,希望对你有一定的参考价值。

负载

Load Balance

均衡





负载均衡概述

负载均衡的含义是将处理系统请求的部分工作,交给另外一台或多台能同时处理此任务的独立系统。它会将一台服务器的负载分发给一组内的其他设备处理。它的优势在于能够降低接收系统请求的主服务器的工作量,从而允许它处理更多的并发请求并提高处理性能。

专业术语:

横向扩展:向外扩展,指的是采购新的设备,和现有设备一起提供更强的负载能力。
纵向扩展:主要应用于单台物理计算机,CPU、磁盘、内存、网卡等硬件需求无法满足日常应用需求,进行的本机升级需求。





  使用场景 

1、HTTP负载均衡

目前内部使用较多的为nginx负载,能够实现主动检查、流量限流、横向扩展、多主架构、支持多种负载调度算法等特点。

2、数据库负载均衡

一直以来数据库是Web应用中最慢的部分,当需要更快的速度或无法忍受数据库故障时,就需要建立数据库集群,以及常说的读写分离等。

3、网络负载均衡

主要涉及双网卡、双线路网络带宽、4层TCP负载设备等相关负载冗余。

4、SSL负载均衡

主要涉及使用SSL证书服务相关服务器或设备的负载配置。

5、DNS负载均衡

实现原理是在DNS服务器中通过定义CNAME别名为同一个域名名配置多个IP地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中别名主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的机器上去,使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。





常见负载均衡软硬件

7层负载:

  • Nginx
  • HAproxy

  • Squid

4层负载:

  • Nginx

  • LVS

  • F5

  • A10





常见负载均衡算法

1、轮询

将请求按顺序轮流分配到后台服务器上,均衡的对待每一台服务器,而不关心服务器实际的连接数和当前的系统负载。

2、随机法

通过系统随机函数,根据后台服务器列表的大小值来随机选取其中一台进行访问。由概率统计理论可以得知,随着调用量的增大,其实际效果越来越接近于平均分配流量到后台的每一台服务器,也就是轮询法的效果。
源地址哈希法的思想是根据服务消费者请求客户端的IP地址,通过哈希函数计算得到一个哈希值,将此哈希值和服务器列表的大小进行取模运算,得到的结果便是要访问的服务器地址的序号。采用源地址哈希法进行负载均衡,相同的IP客户端,如果服务器列表不变,将映射到同一个后台服务器进行访问。

4、加权轮询

根据后端不同的服务器配置高低类型,设置不同的权重比,权重越低前端请求分配此服务器的概率越低;反之权重越高,分配请求的概率越高。

5、加权随机法

加权随机法跟加权轮询法类似,根据后台服务器不同的配置和负载情况,配置不同的权重。不同的是,它是按照权重来随机选取服务器的,而非顺序。

6、最小连接数法

实际当中,请求次数的均衡并不代表负载的均衡。因此我们需要介绍最小连接数法,最小连接数法比较灵活和智能,由于后台服务器的配置不尽相同,对请求的处理有快有慢,它正是根据后端服务器当前的连接情况,动态的选取其中当前积压连接数最少的一台服务器来处理当前请求,尽可能的提高后台服务器利用率,将负载合理的分流到每一台服务器。

综上所述,小伙伴们是不是对负载均衡有了初步的了解呢。本次分享就到这里,如有疑问欢迎关注公众号,小编为您答疑解惑。



小编为您答疑解惑

图文:来源于网络



以上是关于负载均衡简述的主要内容,如果未能解决你的问题,请参考以下文章

nginx反向代理负载均衡简述

tomcat部署简述以及与nginx实现负载均衡

简述LVS(Linux虚拟服务器)

keepalived高可用负载均衡器

Nginx实现反向代理和负载均衡

LVS负载均衡之NAT模式原理及配置详细流程