Nginx负载均衡

负载均衡概述
早期的网站流量和业务功能都比较简单,单台服务器足以满足基本的需求,但是随着互联网的发展,业务流量越来越大并业务逻辑也跟着越来越复杂,单台服务器的性能及单点故障问题就凸显出来了,因次需要多台服务器进行性能的水平扩展及避免单点故障出现。那么如何将不同用户的请求流量分发到不同的服务器上呢

单点机器出现的问题
1、服务端接收请求的时候,超出了最高的并发处理能力,就会出现处理请求的速度非常慢,或者直接把服务器压垮,出现宕机的情况
2、服务端如果宕机了,该如何解决

因此需要多部署几台服务器,来解决以上的问题

1、负载均衡的原理及处理流程

系统的扩展可以分为纵向扩展和横向扩展
纵向扩展是从单机的角度出发,通过增加系统的硬件处理能力来提升服务器的处理能力
横向扩展是统计添加机器来满足大型网站的服务处理能力

负载均衡器,负责的是根据算法把请求分发到不同的服务器上
在这里插入图片描述
上图涉及到两个重要的角色分别是 应用集群 和 负载均衡器

应用集群: 将同一应用部署到多台机器上,组织处理集群,接收负载均衡设备分发的请求,进行处理并返回响应的数据
负载均衡器: 将用户访问的请求根据对应的负载均衡算法,分发到集群中的一台服务器进行处理。

负载均衡的作用:
1、解决服务器的高并发压力,提供应用程序的处理性能
2、提供故障转移,实现高可用
3、通过添加或减少服务器数量,增强网站的可扩展性
4、在负载均衡器上进行过滤,可以提高系统的安全性

2、负载均衡常用的处理方式

方式1 用户手动选择:

这种方式比较原始,主要的实现方式就在网站主页上面提供不同线路,不同服务器链接方式,让用户来选择自己访问的具体服务器,来实现负载均衡
在这里插入图片描述
方式2 DNS 轮询方式

DNS

域名系统(服务)协议(DNS)是一种分布式网络目录服务,主要用于域名与IP地址的相互转换

大多域名注册商都支持同一个主机名添加多条A记录(一个域名可以绑定多个IP地址),这就是DNS轮询,DNS服务器将解析请求按照 A记录的顺序,随机分配到不同的IP上,这样就能完成简单的负载均衡。DNS轮询的成本非常低,在一些不重要的服务器,经常被使用。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.1 四/七 层负载均衡

介绍 四/七层负载均衡前,我们先了解一个概念 OSI (open system interconnection), 叫开发式系统互联模型,这个是由国际标准化组织ISO指定的一个不基于具体机型、操作系统或公司的网络体系结构。该模型将网络通信的工作分为七层
在这里插入图片描述

在这里插入图片描述
所谓 四层负载均衡指的是 OSI 七层模型中的传输层,主要是基于 IP+PORT 的负载均衡

硬件贵
实现四层 负载均衡的方式:
硬件: F5 BIG-IP Radware 等
软件: LVS、Nginx、Hayproxy 等

所谓的七层负载均衡 指的是在应用层,主要是基于虚拟的URL 或主机IP的负载均衡

实现七层负载均衡的方式:
软件:Nginx、Hayproxy等

四层 和 七层负载均衡的区别

四层负载均衡数据包是在底层进行了分发,而七层负载均衡数据包则在最顶端进行分发,所以四层负载均衡的效率比七层负载均衡的要高。
四层负载均衡不识别域名,而七层负载均衡识别域名

2.2 Nginx 七层负载均衡

Nginx要实现7层负载均衡需要用到 proxy_pass代理模块配置。Nginx默认安装支持这个模块,我们不需要再做任何处理。Nginx的负载均衡是在Nginx的反向代理基础上把用户的请求根据指定的算法分到一组【upstream 虚拟服务池】。

Nginx 七层负载均衡的指令
该指令是用来定义一组服务器,它们可以是监听不同端口的服务器,并且也可以是同时监听TCP 和 Unix socket的服务器。服务器可以指定不同的权重,默认为1。

  • upstream 指令
语法  upstream  name {
   ....}
默认值   -
位置  http
  • server 指令

该指令用来指定后端服务器的名称和一些参数,可以使用 域名、IP、端口或者 unix socket

语法   server  name  [paramerters]
默认值  -
位置  upstream

在这里插入图片描述
负载均衡配置:

backend 为服务器组
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值