一、负载均衡的概念
有一个独立的统一入口来收敛流量,再做二次分发的过程,是高可用的核心,本质和分布式系统一样,是分治
二、负载均衡种类
负载均衡硬件: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