负载均衡解释

百度百科释义如下

负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。
负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法扩展服务器和网络设备的带宽、加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性。

负载均衡的目的是为了解决单节点服务压力过大,导致服务响应缓慢、崩溃等问题

Nginx 负载均衡通过反向代理实现,其大概工作流程如下图所示:

负载均衡策略

nginx负载均衡分为内置策略和外置策略常用的有以下6种

策略说明
轮询默认方式,请求会按时间顺序逐一分配到不同的后端服务器。会自动剔除down掉的服务器
weight权重方式,weight的数值与访问比率成正比数值越大接到的请求越多
ip_hash依据客户端ip分配方式,同一IP用户可以访问同一台后端服务器,此模式不能使用权重,backup 参数配置
least_conn最少链接方式,把请求转发给连接数较少的后端服务器
fair(外置)依据响应时间分配,响应时间短的优先分配
url_hash(外置)依据URL分配,可以配合缓存使用同一请求可以请求同一台服务器,利用缓存提高响应

upstream 配置示例

upstream 常用参数说明

参数说明
均衡策略weight,上面的策略方式其中一种
server指定负载均衡的后端服务器,例如:server 192.168.1.1:8080;
max_fails在一定时间内(这个时间在fail_timeout参数中设置) 检查这个服务器是否可用时产生的最多失败请求数
fail_timeout在fail_timeout时间内经历了max_fails次失败后, 暂停服务的时间
max_fails可以和fail_timeout一起使用, 进行对后端服务器的健康状态检查
backup当所有后端服务器都宕机时, 可以指定代理服务器自身作为备份, 对外提供维护提示页面
down永久不可用
最后修改日期:2020-07-04

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。