nginx反向代理及负载均衡使用详解

nginx反向代理及负载均衡使用说明

集群介绍

简单地说,集群就是指一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点(即集群种的每台计算机)都是运行各自服务的独立服务器,这些服务器之间可以彼此通信,协同向用户提供应用程序、系统资源和数据,并以单一系统的模式加以管理,当用户客户机请求集群系统时,集群给用户的感觉就是一个单一独立的服务器,而实际上用户请求的是一组集群服务器。

用一句话描述集群:即一堆服务器合作做同一件事!

负载均衡架构图

Alt text

为什么要使用集群

1.高性能计算
2.价格有效性
3.可伸缩性
4.高可用性

集群概念的特点说明:高可用,高性能(核心特点)

集群种类

(1) 负载均衡集群,简称LBC或者LB—解决调度问题

  • 硬件设备

F5 : 硬件设备
A10 : 硬件设备

  • 软件实现

Nginx : 工作在7层,1.9版本之后也支持4层负载
LVS : 工作在4层
Haproxy(大公司常用) : 兼容4层负载和7层负载,有图形化界面

(2) 高可用性集群,简称HAC或者HA —解决单点故障问题(keepalived)

(3) 高性能计算集群,简称HPC或者HP —不常用:主要处理复杂的运算,算法,建模,科研常用

(4) 网络计算 —不常用:云计算有关

负载均衡概念说明

  • 对用户的访问请求进行调度管理

  • 对用的的访问请求进行压力分担

  • 调度管理示例
    Alt text

  • 压力分担示例
    Alt text

压力测试

  • 软件apache,ab(Apache Bench)功能

拿到服务器先进行压力测试,查看最大值是多少!!!按最大值进行搭建web服务器数量(要有一定冗余量,做到一半的机器坏了,另一半能继续支撑没有异常,防止雪崩的情况

  • 解决负载均衡单点故障
    Alt text

再加一台备负载均衡服务器,主和备之间用一根心跳线相连,主的挂掉以后,备的立马顶替,实现高可用服务器集群。
及解决了负载的压力分担又解决了单点故障的问题!

  • 压力测试软件ab(Apache Bench)的原理:

ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。
ab命令对发出负载的计算机要求很低,它既不会占用很高CPU,也不会占用很多内存。但却会给目标服务器造成巨大的负载,其原理类似CC攻击。自己测试使用也需要注意,否则一次上太多的负载。可能造成目标服务器资源耗完,严重时甚至导致死机。

反响代理概念说明

接收用户请求替代用户想后端访问。

反向代理图解

Alt text

第一步: 客户端发送请求到反向代理负载均衡服务器
第二步: 反向代理服务器接收到请求后,代替客户端向后端web服务器发起访问请求(这里对于web服务器来说反向代理服务器就是客户端!对于客户端来说反向代理是服务端!)
第三步: web服务器把响应的请求发送给反向代理服务器
第四步: 反向代理接收到请求后,把请求发送给客户端

数据转发图解

Alt text
主要运用在LVS上

第一步 : 客户端发送请求到数据转发负载均衡服务器
第二步 : 负载均衡服务器不做处理,直接转发给后方节点服务器
第三步 : web服务器接收到请求后,返回给负载均衡服务器响应请求
第四步 : 负载均衡服务器接收到响应请求后,不做处理,直接转发给客户端!

还有一种情况是,在web服务器返回数据的时候,不经过负载均衡服务器,直接通过网络找到客户端返回响应请求!

实践环境准备

  • 安装依赖包(pcre-devel openssl-devel)
yum install -y pcre pcre-devel  openssl openssl-devel
  • 下载Nginx软件
    使用命令下载:
wget  -q http://nginx.org/download/nginx-1.14.0.ta
  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值