负载均衡Load Balance(F5 nginx LVS DNS轮询)

文章目录

  • 一、IP负载均衡
    • (一)硬件方式
    • (二)软件方式
  • 二、DNS轮询
  • 三、CDN
    • (一)定义
    • (二)CDN网络结构
    • (三)CDN工作原理

在做系统架构规划的时候,负载均衡,HA(高可用性集群,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动节点及备用节点,当活动节点出现故障的时候,由备用节点接管)都是经常需要考虑的方案。对应并发及单点故障,考虑负载均衡方案是必不可少的。如果并发不高只是应对单点故障,则通常使用HA方案。
  
  负载均衡(Load Balance)是集群技术(Cluster)的一种应用。负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力。目前最常见的负载均衡应用是Web负载均衡。根据实现的原理不同,常见的web负载均衡技术包括:DNS轮询、IP负载均衡和CDN。其中IP负载均衡可以使用硬件设备或软件方式来实现。

一、IP负载均衡

(一)硬件方式

采用F5服务器来做负载均衡,F5的全称是F5-BIG-IP-GTM,是最流行的硬件负载均衡设备,其并发能力达到百万级。F5的主要特性包括:

  • 多链路的负载均衡和冗余
    可以接入多条ISP链路,在链路之间实现负载均衡和高可用。
  • 防火墙负载均衡
    F5具有异构防火墙的负载均衡与故障自动排除能力。
  • 服务器负载均衡
    这是F5最主要的功能,F5可以配置针对所有的对外提供服务的服务器配置Virtual Server实现负载均衡、健康检查、回话保持等。
  • 高可用
    F5设备自身的冗余设计能够保证99.999%的正常运行时间,双机F5的故障切换时间为毫秒级。
    使用F5可以配置整个集群的链路冗余和服务器冗余,提高可靠的健康检查机制,以保证高可用。
  • 安全性
    与防火墙类似,F5采用缺省拒绝策略,可以为任何站点增加额外的安全保护,防御普通网络攻击,包括DDoS、IP欺骗、SYN攻击、teartop和land攻击、ICMP攻击等。
  • 易于管理
    F5提供HTTPS、SSH、Telnet、SNMP等多种管理方式,包含详尽的实时报告和历史纪录报告。同时还提供二次开发包(i-Control)。
  • 其他
    F5还提供了SSL加速、软件升级、IP地址过滤、带宽控制等辅助功能。

(二)软件方式

1. nginx

nginx我们常用于做反向代理,但它的负载均衡能力也很强。

nginx负载均衡流程图
  Nginx目前提供的负载均衡模块:
  ngx_http_upstream_round_robin,加权轮询,可均分请求,是默认的HTTP负载均衡算法,集成在框架中。
  ngx_http_upstream_ip_hash_module,IP哈希,可保持会话。
  ngx_http_upstream_least_conn_module,最少连接数,可均分连接。
  ngx_http_upstream_hash_module,一致性哈希,可减少缓存数据的失效。

2. apache http server

apache http server作为LoadBalance前置机分别有三种不同的部署方式,分别是:
  1、轮询均衡策略的配置
  2、按权重分配均衡策略的配置
  3、 权重请求响应负载均衡策略的配置
  
3. LVS

LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver.org。

现在LVS已经是 Linux标准内核的一部分,在Linux2.4内核以前,使用LVS时必须要重新编译内核以支持LVS功能模块,但是从Linux2.4内核以后,已经完全内置了LVS的各个功能模块,无需给内核打任何补丁,可以直接使用LVS提供的各种功能。

负载均衡Load Balance(F5  nginx  LVS  DNS轮询)

CDN网络是在用户和服务器之间增加Cache层, 如何将用户的请求引导到Cache上获得源服务器的数据,主要是通过接管DNS实现,访问使用CDN缓存后的网站的过程:

  1. 用户向浏览器提供要访问的域名;
  2. 浏览器调用域名解析库对域名进行解析,由于CDN对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实 际IP地址,浏览器需要再次对获得的CNAME域名进行解析以得到实际的IP地址;在此过程中,使用的全局负载均衡DNS解析,如根据地理位置信息解析对应的IP地址,使得用户能就近访问。
  3. 此次解析得到CDN缓存服务器的IP地址,浏览器在得到实际的IP地址以后,向缓存服务器发出访问请求;
  4. 缓存服务器根据浏览器提供的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求;
  5. 缓存服务器从实际IP地址得得到内容以后,一方面在本地进行保存,以备以后使用,二方面把获取的数据返回给客户端,完成数据服务过程;

负载均衡Load Balance(F5  nginx  LVS  DNS轮询)
对于普通的Internet用户来讲,每个CDN节点就相当于一个放置在它周围的WEB。通过全局负载均衡DNS的控制,用户的请求被透明地指向离他最近的节点,节点中CDN服务器会像网站的原始服务器一样,响应用户的请求。由于它离用户更近,因而响应时间必然更快。

每个CDN节点由两部分组成:负载均衡设备和高速缓存服务器
??负载均衡设备负责每个节点中各个Cache的负载均衡,保证节点的工作效率;同时,负载均衡设备还负责收集节点与周围环境的信息,保持与全局负载DNS的通信,实现整个系统的负载均衡。CDN的管理系统是整个系统能够正常运转的保证。它不仅能对系统中的各个子系统和设备进行实时监控,对各种故障产生相应的告警,还可以实时监测到系统中 总的流量和各节点的流量,并保存在系统的数据库中,使网管人员能够方便地进行进一步分析。通过完善的网管系统,用户可以对系统配置进行修改。

关键技术:CDN的关键技术主要有内容路由技术、内容分发技术、内容存储技术、内容管理技术等。

来源:途径日暮不赏丶

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年8月14日
下一篇 2021年8月14日

相关推荐