负载均衡
什么是负载均衡
负载均衡组件,是协调数量庞大的服务器集群对外提供统一的服务访问入口。
负载均衡根据一定算法把外部请求分配到集群内不同的服务器。
负载均衡:
- DNS
一个域名通过DNS解析到多个IP,每个IP对应不同的服务器 实例,这样就完成了流量的调度,虽然没有使用常规的负载均衡器,但实现了简单的负载均衡功能。
- 硬件负载均衡
硬件负载均衡是通过专门的硬件设备来实现负载均衡功能,是专用的负载均衡设备。目前业界典型的硬件负载均衡设备有两款:F5和A10
- 软件负载均衡
软件负载均衡,可以在普通的服务器上运行负载均衡软件,实现负载均衡功能。目前常见的由NGINX,haproxy,lvs。
应用场景
- 流量分发:
将高访问量的业务通过负载均衡发到多台云服务器上。
- 消除单点故障
当其中一部分的云服务器不可用时,负载均衡可自动屏蔽故障的云服务器实例,保障应用系统正常工作
- 横向扩展
根据业务发展的需要,按需扩展应用系统的服务能力,适用于各种webserver 和app server
- 全局负载均衡
支持全局多地负载均衡,保障异地容灾
组件模块
- nginx
nginx是一款自由的,开源的,高性能的http服务器和反向代理服务器,nginx可以作为一个http服务器进行网站的发布处理,也可以作为反向代理进行负载均衡。
- LVS
LVS也就是linux虚拟服务器。
通过lvs达到负载均衡技术和linux操作系统可以实现一个高性能高可用的linux服务器集群。它具有良好的可靠性,可扩展性和可操作性
- keepalived
keepalived是集群管理中保证集群高可用的一个服务软件,keepalived软件主要是通过vrrp协议实现高可用。
正向反向代理
正向代理
正向代理是代理客户端,为客户端收发请求,使真实客户端对服务器不可见。
用途:
- 突破访问显示:通过代理服务器,可以突破自身 ip 访问限制,访问国外网站等
- 提高访问速度:通常代理服务器都设置一个较大的硬盘缓冲区,会将部分请求的响应保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,以提高访问速度
- 隐藏客户端真实 ip:上网者可以通过正向代理的方法隐藏自己的 ip,免受攻击
反向代理
反向代理是代理服务器,为服务器收发请求,使真实服务器对客户端不可见。
用途:
- 隐藏服务器真实 ip:使用反向代理,可以对客户端隐藏服务器的 ip 地址
- 负载均衡:反向代理服务器可以做负载均衡,根据所有真实服务器的负载情况,将客户端请求分发到不同的真实服务器上
- 提高访问速度:反向代理服务器可以对静态内容及短时间内有大量访问请求的动态内容提供缓存服务,提高访问速度
- 提供安全保障:反向代理服务器可以作为应用层防火墙,为网站提供对基于 web 的攻击行为(例如 DoS/DDoS)的防护,更容易排查恶意软件等。还可以为后端服务器统一提供加密和 SSL 加速(如 SSL 终端代理),提供 HTTP 访问认证等。