负载均衡、反向代理、CDN的概念

一、负载均衡的概念

有一个独立的统一入口来收敛流量,再做二次分发的过程,是高可用的核心,本质和分布式系统一样,是分治

二、负载均衡种类

负载均衡硬件:F5 BIG-IP, 不常用

负载均衡软件:LVS(用于大型网站), Nginx(适合中小型网站,比如PV小于1000万), HAProxy

高可用软件:Heartbeat, Keepalived

成熟架构:LVS+Keepalived、Nginx+Keepalived、HAProxy+keepalived

三、负载均衡的策略

1. 轮询

2. 加权轮询,在轮询的基础上,增加了权重,即能者多劳,性能好的服务器多处理请求

3. 最少连接数

4. 最快响应

5. Hash算法,取得余数,选取对应服务器

四、健康探测保证高可用性

1. HTTP探测:get/post某个固定的url

2. TCP探测:三次握手探测ip+port

3. UDP探测

五、反向代理

1. 正向代理:客户端和原始服务器中间,加一个代理服务器,用于接收客户端请求,客户端知道真实服务器的存在,但不能直接连接到真实服务器

2. 反向代理:是指以代理服务器接收客户端流量,然后转发给内部网络上的服务器,客户端不知道真实服务的存在,只知道代理服务器的存在

3. 反向代理作用:

a. 安全

b. 通过配置缓存功能加速web请求,比如缓存静态资源,减轻内部服务器压力

c. 实现负载均衡

4. Nginx实现的是反向代理

六、CDN(Content Distribute Network)内容分发网络

1. 通过在网络各处(北京、上海、广州等)放置反向代理节点服务器,将用户请求导向最近的服务节点上,反向代理服务器由CDN供应商提供

2. 目的:省钱,因为用户直接访问服务器的静态资源(图片、网页、视频等),会消耗大量带宽,成本会很高

3. 方法:CDN服务器定时去应用服务器上取得最新的静态资源,存储在本地服务器上,用户访问时,访问本地的静态资源

4. 由于成本很大,一般不会自己实现,购买运营商的CDN服务即可

原文地址:https://www.cnblogs.com/june0816/p/6628523.html