企业架构LNMP学习笔记28

企业架构LNMP高可用负载均衡服务器之Nginx:

1)能够描述负载均衡的作用;loadbalance LB。

2)能够了解负载均衡常见的实现方式;

3)能够使用nginx实现负载均衡;

4)能够描述nginx的常见的负载均衡调度算法;

业务背景描述:

时间:2011.6 ~ 2013.9

发布产品类型:互联网动态站点  电商

用户数量:4000~8000 (用户数量猛增)

PV: 16000-100000:(24小时访问次数)

QPS:50~100 (每秒访问次数)

DAU:400-800 (每日活跃用户数)

随着业务量增加,之前单点服务器,已经不能满足业务的需要。如果主服务器宕机,备用服务器提供服务,因为流量太大,备用服务器也宕机。需要多台服务器同时提供服务。

模拟运维设计方案:

企业架构LNMP学习笔记28_第1张图片

以上架构服务器,已经不能满足以上提到的业务需求,架构发生如下变化:

企业架构LNMP学习笔记28_第2张图片

调度服务器:负载均衡服务器。由它确定把请求转发到不同的web服务器。

调度作用。把流量尽量平均分配到后端的web服务器上。请求分发。

服务器基本环境部署:

克隆复制虚拟机:

server04 lb loadbalance  192.168.17.110

智能负载均衡。

基本环境配置:

网卡IP、主机名称、hosts解析;

负载均衡服务器搭建:

引入负载均衡技术:

负载均衡技术,load balance,LB,是一种概念,把资源的使用进行平均分配。

搞集群要掌握HA和LB两个技术。

负载均衡:分发流量,请求到不同的服务器。使流量平均分配。(理想的状态)。

作用:

服务器容灾,流量分发。

主要作用:

1)流量分发,请求平均,降低单机的压力。

其他作用:

1)安全:隐藏后端真实服务;

2)屏蔽非法请求(七层负载均衡);不合法,请求拒绝。防火墙。四层只有连接的概念。

负载均衡的分类:

企业架构LNMP学习笔记28_第3张图片

1)二层负载均衡(mac)

根据OSI模型分的二层进行负载,一般是用虚拟mac地址方式,外部对虚拟MAC地址请求,负载均衡接收后,再分配后端实际的MAC地址响应    LVS。

2)三层负载均衡(ip)

一般采用虚拟IP地址方式,外部对虚拟的ip地址请求,负载均衡接收后,再分配后端实际的IP地址响应

3)四层负载均衡(tcp) 网络运输层面的负载均衡

在三层负载均衡的基础上,用ip+port接收请求,再转发到对应的机器

4)七层负载均衡(http) 智能型负载均衡

根据虚拟的url或IP,主机接收请求,再转向(反向代理)相应的处理服务器

最常见的是四层和七层。

常见的实现方式:

实现方式分类:

1)软件级别:性价比高、可控性强;

2)硬件级别:性能好、价格高,几万到几十万不等。

互联网公司更多的是通过软件级别。

硬件实现方式:

F5 BIG-IP。500万并发数。F5是公司,BIG-IP是他们的一款产品。四层和七层都可以做。

软件实现方式:

OSI分层 实现方式
七层 Nginx、HAproxy
四层 LVS、HAproxy、Nginx(1.9版本后)

企业架构LNMP学习笔记28_第4张图片

四层与七层对比:

企业架构LNMP学习笔记28_第5张图片

性能四层高、七层性能中。

安全性:四层低,七层高。可以防御SYN、Cookie以及SYN flood等攻击。

TCP SYN泛洪发生在OSI第四层,这种方式利用TCP协议的特性,就是三次握手。攻击者发送TCP SYN,SYN是TCP三次握手中的第一个数据包,而当服务器返回ACK后,该攻击者就不对其进行再确认,那这个TCP连接就处于挂起状态,也就是所谓的半连接状态,服务器收不到再确认的话,还会重复发送ACK给攻击者。这样更加会浪费服务器的资源。攻击者就对服务器发送非常大量的这种TCP连接,由于每一个都没法完成三次握手,所以在服务器上,这些TCP连接会因为挂起状态而消耗CPU和内存,最后服务器可能死机,就无法为正常用户提供服务了。

你可能感兴趣的:(Nginx,架构)