[TOC]
目录.png《CDN技术详解》读书笔记
集群技术与负载均衡技术
1. 服务器集群技术
集群的基本概念
服务器集群的优点:
- 提高性能。通过整合不同服务器的计算能力,通过并行计算获得超高的计算性能。
- 降低成本。单纯的提高硬件性能,性价比太低
- 提高可扩展性。
- 增强可用性。
集群的分类:
- 计算集群。通常用于承载计算密集型任务,通过并行计算为基础,与不同节点完成通信,共同完成计算任务。
- 负载均衡集群。通常是将任务负载尽可能地平均分配到多台服务器上处理。
- 高可用集群。通常是为了保证服务高可用,及时完成故障转移等工作
2. Cache 集群协同交互方法
- ICP Internet Cache Protocol. 定义了轻量级的消息格式,用于 Cache 服务器之间互相查询Web资源信息,以确定当前被请求的资源是否存在于其他服务器上
- HTCP Hypertext Caching Protocol。 是用于发现 HTTP 高速缓存服务器与缓存数据的协议
- Cache Digest。主要是解决 ICP 与 HTCP 协议在使用过程中的网络延迟和拥塞问题。
- Cache Pre-filling 实现的是一种推送 Cache 内容的机制,它能够很好地应用到 IP 多播网络上。
- CARP Cache Array Routing Protocol。分布式缓存协议。利用请求URL,通过哈希函数计算,准确定位资源的位置
- 无须资源查询的过程和应答过程,避免网络影响,降低传输开销
- 消除了重复缓存数据
- 具有更好的扩展性。因为无须和众多其他 Cache 服务器进行网络交互
- 可以灵活的增删服务器节点
- 能够保证所有的 URL 数据都能够有效地缓存在系统中
3. 负载均衡技术的实现
1. 负载均衡调度算法
- 轮训 Round Robin
- 加权轮询 Weighted Round Robin
- 随机 Random
- 加权随机 Weighted Random
- 基于源 IP 的 Hash Source IP Hashing
- 基于源 IP 端口的 Hash (Source IP and Source Port Hashing)
- 基于UDP 报文净荷的 Hash。 通过 UDP 报文载荷中的某个字段值,获取到 Hash 值
- 最小连接 Least Connection。将请求分配给连接数最小的服务器
- 加权最小连接 Weighted Least Connection
- 最小响应时间 Least Response Time
2. 会话持续性保证技术
保证目标在一定时间端内,某个用户与系统的会话只教给同一台服务器处理。
- 基于源 IP 地址的持续性保持。用于四层负载均衡,确保来自同一个源 IP 的业务能够分配到同一台服务器上。
- 基于Cookie 数据的持续性保持。用于七层负载均衡
- 基于SIP 报文 Call-ID 的持续性保存。用于七层负载均衡,首次接受一个请求时,会建立持续性表项,记录下为客户端分配的服务器情况。
- 基于HTTP报文头的持续性保存。用于七层负载均衡,根据HTTP报文头关键字建立持续性表项
3. 服务器健康检测技术
及时发现和剔除工作状态不正常的服务器,保留健康的提供服务。
- ICMP。向集群中的服务器发送 ICMP Echo 报文。
- TCP。向集群中的服务器发送 TCP 建立连接
- HTTP。向服务器发出 HTTP 请求。
- FTP。建立 TCP 连接,获取服务器上的文件,若收到的文件的内容正确,证明正常
- DNS。向集群中的DNS发送 DNS 请求,若收到正确的DNS 解析应答,则证明服务器 DNS 协议处理正常
- RADIUS。向集群中的服务器发送 RADIUS 认证请求,若收到认证成功的应答,则证明服务器 RADIUS 协议处理正常。
- SSL。向集群中的服务器发送 SSL 建立请求,建立成功,证明服务器SSL协议处理正常
4. 负载均衡部署方式
负载均衡部署方式在具体实现中分直连和旁挂两种部署方式。此外,为了提高网络可用性,负载均衡设备的双机热备部署是十分必要的。
- 常用负载均衡部署方式
直连部署方式:
直连部署.png旁挂部署方式:
旁挂部署.png- 双机热备部署方式
- 主备模式
- 负载分担模式。
5. 服务器负载均衡
按照七层网络协议栈划分,服务器负载均衡可以分为:
- 四层 L4 负载均衡。基于流的服务器负载均衡,能够对报文逐流分发。
- 七层 L7 负载均衡。基于内容的服务器负载均衡,能够对七层报文内容进行深度解析。
L4 四层负载均衡
- NAT 方式 L4 负载均衡
Network Address Translation 属于广域网接入技术,他是一种将私有地址转换为合法 IP 地址的转换技术
图片.png工作流程:
- 负载均衡设备负责接收客户端发送给虚拟 IP 地址的服务请求。
- 负载均衡设备通过服务器可用性验证、会话持续性保证等对负载均衡算法进行调度,选择出负责响应和处理该请求的真实服务器
- 负载均衡设备用真实服务器的 IP 地址改写请求报文的目标地址,再将请求发送给选定的真实服务器。
- 真实服务器的响应报文首先通过负载均衡设备。
- 负载均衡设备将响应报文的源地址修改为虚拟 IP 地址,再返回给客户端。
- DR 方式 L4 负载均衡
DR Direct Routing。DR 方式只有客户端发送的服务请求报文会经过负载均衡设备,而服务器发出的响应报文则无须通过,这样能够减少负载均衡设备的压力,避免负载均衡设备称为系统性能的瓶颈。
图片.pngL7 七层负载均衡
七层服务器负载均衡在截取数据流以后,对数据包的检查和分析仅局限于 IP 报文头部和 TCP/UDP 报文头部,而不关心TCP/UDP 数据包的有效载荷信息
L7 负载均衡的优点:
- 能够根据数据包内容(例如判断数据包是图像文件、压缩文件)把数据流量引向能够处理响应内容的服务器,提高系统的可管理性。
- 能够根据连接请求的数据类型(例如根据URL判定用户发送的请求是和普通文本、图像等静态文档相关,还是ASP、CGI 文件相关)把其引向相应的服务器处理。
- 能够根据应用层载荷保证会话的持续性。
6. 链路负载均衡
这是指通过动态算法在多条网络链路上进行负载均衡。解决的是无法根据带宽的实际使用情况动态调整报文分发,造成空闲链路吞吐能力的浪费。
根据业务流量分为:
- Outbound 链路负载均衡。解决企业内部业务系统访问外部互联网服务时,如何在多条不同的链路中动态分配和负载均衡问题。
- Inbound 链路负载均衡。解决是位于互联网外部的用户如何在访问企业内部网站和内部系统时动态地在多条链路上平衡分配。
Outbound 链路负载均衡
当内网和外网之间存在多条链路时,Outbound 链路负载均衡可以实现多条链路上分担内网用户访问外网服务器流量的功能。
Outbound 链路负载均衡.pngInbound 链路负载均衡
Inbound 链路负载均衡的主要作用是在多条链路上均衡调度外网用户访问企业内部内容和业务系统时的流量。
图片.png
网友评论