企业架构LNMP学习笔记28

news/2024/12/22 14:35:53/

企业架构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 (每日活跃用户数)

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

模拟运维设计方案:

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

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

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

服务器基本环境部署:

克隆复制虚拟机:

server04 lb loadbalance  192.168.17.110

智能负载均衡。

基本环境配置:

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

负载均衡服务器搭建:

引入负载均衡技术:

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

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

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

作用:

服务器容灾,流量分发。

主要作用:

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

其他作用:

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

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

负载均衡的分类:

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版本后)

四层与七层对比:

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

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

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


http://www.ppmy.cn/news/1099323.html

相关文章

微信小程序onReachBottom事件使用

在微信小程序中,onReachBottom事件用于监听页面滚动到页面底部的时候触发的事件。当用户滑动页面到底部时,可以通过监听该事件来执行相应的操作。 要使用onReachBottom事件,需要在对应的页面或组件中定义一个函数,并在Page或Comp…

操作系统-线程复用

操作系统执行线程复用的过程涉及到线程调度和管理。线程复用是指操作系统能够有效地重用现有的线程来执行新的任务,而不必每次都创建新线程。这有助于减少线程创建和销毁的开销,提高系统性能。下面是操作系统如何执行线程复用的关键步骤: 线程…

hive安装步骤

centos7安装hive,hive版本3.1.2 一、环境准备 JDK版本:jdk-8u381 Hadoop版本:hadoop-3.1.3 MySQL版本:8.0.34 二、hive安装步骤 1.解压 将压缩包复制到/opt/software目录下,并解压至/opt/module/目录 tar -zxf…

PY32F003F18之RS485通讯

PY32F003F18将USART2连接到RS485芯片,和其它RS485设备实现串口接收后再转发的功能。 一、测试电路 二、测试程序 #include "USART2.h" #include "stdio.h" //getchar(),putchar(),scanf(),printf(),puts(),gets(),sprintf() #include "…

【Java 基础篇】Java Collection 详解:集合入门指南

Java 是一种流行的编程语言,其中的集合(Collection)框架为处理和操作数据提供了丰富的工具。无论你是刚刚开始学习 Java,还是已经有一些经验,理解如何使用集合是非常重要的,因为它们是 Java 程序中最常用的…

用通俗易懂的方式讲解大模型分布式训练并行技术:流水线并行

近年来,随着Transformer、MOE 架构的提出,使得深度学习模型轻松突破上万亿规模参数,传统的单机单卡模式已经无法满足超大模型进行训练的要求。因此,我们需要基于单机多卡、甚至是多机多卡进行分布式大模型的训练。 而利用AI集群&…

9.8 校招 实习 内推 面经

绿泡*泡: neituijunsir 交流裙 ,内推/实习/校招汇总表格 1、校招 | 长安福特2024校园招聘正式启动 校招 | 长安福特2024校园招聘正式启动 2、2023校招总结--SLAM岗位 - 5 2023校招总结--SLAM岗位 - 5 3、校招&实习 | 格灵深瞳2024秋季校园招聘启…

【自学开发之旅】Flask-标准化返回-连接数据库-分表-orm-migrate-增删改查(三)

业务逻辑不能用http状态码判断,应该有自己的逻辑判断。想要前端需要判断(好多if…else),所以需要标准化,标准化返回。 json标准化返回: 最外面:data,message,code三个字段。 data:返回的数据 co…