Nginx+ATS缓存场景
场景描述
以Nginx作为L7层负载均衡、Apache Traffic Server作为缓存管理的场景。
方案概述
TaiShan 200服务器可以使用Nginx作为CDN的L7层负载均衡服务器,同时使用Apache Traffic Server作为缓存管理软件,利用鲲鹏处理器提供的多核能力,提供更高的CDN吞吐量、更好的平均响应时延和更大的请求数。
L1边缘节点及L2中心节点/区域节点类似,都是作为缓存节点存在,但是由于面向的对象不同,因此在配置上略有差异,方案及原理是相同的,下面以L1边缘节点为例。
- L1边缘节点总体采用LVS作为四层负载均衡,Nginx作为七层负载均衡,同时负责缓存节点的业务逻辑处理及安全防护,ATS用来做磁盘及缓存管理。
- 在客户请求到达四层负载均衡LVS后,LVS轮询后端任意一台可用的设备,并转发给该设备的七层负载均衡Nginx。
- Nginx在收到请求后,会根据URL的一致性哈希算法找到合适的缓存节点ATS。
- ATS收到请求后,查询本地缓存,如果没有命中则向全局调度查询回源路由,并向上级节点回源,对同一资源的多个回源进行聚合。
- 如果ATS查询到已命中缓存,则从本地存储(内存/SSD/HDD)读取数据并吐出给终端客户。
图1 Nginx+ATS缓存场景图
方案的部署可以参考《鲲鹏BoostKit CDN使能套件 部署指南》中的步骤,如果需要对HTTPS中的RSA2048算法解密进行加速,将SSL卸载到硬件加速器处理,进一步提升性能,可以参考《Tengine 2.2.2 移植指南(CentOS 7.6)》使用Tengine替代Nginx,并参考其中步骤安装鲲鹏加速器驱动,使能Tengine中对OpenSSL的异步调用模式即可。
父主题: 方案场景