绿色CDN缓存节点系统
发布时间:2022-01-12 21:49
随着互联网流量的不断增长,CDN的规模也日渐庞大。如何建设一个高效绿色的CDN缓存节点系统已成为各大CDN系统运营者必须面对的问题。绿色的概念代表着"高效、节能、经济与稳定可靠",文章阐述如何实现CDN缓存节点系统的绿色理念。
【文章来源】:信息通信. 2020,(06)
【文章页数】:2 页
【部分图文】:
绿色CDN缓存节点系统架构
采用访问速度快的存储介质可有效提高I/O效率,但以SSD为代表的高速存储介质成本较高,因此,将根据用户访问模式判断热点数据,并综合访问频率、迁移开销等因素将热点数据从普通存储磁盘迁移到高速存储介质进行存储,而访问频率较低的数据则放入SATA等成本较低的磁盘中。具体的迁移判定准则为freq/size。freq为数据的访问频度,记录在对象文件系统的存储索引中,根据数据的访问次数进行更新,存储索引在系统运行时被全部导入内存,以便快速检索到哪些数据是热度变高或降低。freq越高,数据就越应该往高级别的磁盘上迁移。为文件的大小,决定了迁移一个文件的开销。为权重,决定迁移开销所占的比重,一般来说,缓存系统认为数据访问频度的重要性大过文件大小,按照经验,将改值设定为0.8。图2给出了一个简单的SATA/SSD两级存储的迁移示例,分别为每种存储介质定义了到上一级(或到下一级)的迁移阀值。如,当发现SATA硬盘某数据的freq/size值大于迁移到SSD硬盘的阀值,则写入SSD的memory中。stripe是写磁盘的一个基本单位,待一个stripe被填满时,再进行磁盘I/O,写入SSD硬盘。该方式的优点是可以尽量减少磁盘I/O次数,避免磁盘I/O过于频繁而造成的寿命降低。当数据热度降低时,数据又会从高级别的SSD硬盘写入低级别的SATA硬盘。2.2 基于一致性hash的热点扩展
目前,七层负载均衡主要通过一致性hash的调度策略[3],将接收到的请求调度到后端各缓存系统上,原理如图3所示。七层负载均衡代理维持一个一致性hash环,后端服务器都会映射到环上的若干个节点,当接收到请求时,七层代理通过相同的hash算法基于url计算生成一个hash值。这个hash值一定落在HASH环上,然后按照顺时针的方向可以找到最近的一个缓存系统。这样,任何缓存系统的加入或者退出都只会影响hash环上临近的节点。同时,选择合适的hash算法来保证不同的url会计算出不同的hash值。只要选择得当,大多数情况下可以保证负载均衡地落入不同的缓存系统节点。根据一致性hash的调度策略,每个经过七层负载均衡的请求都会被固定调度到相应的缓存系统上。由于数据访问存在热点,各个缓存系统的负载将会不均匀,甚至导致某些缓存系统无法承受。节点系统将对这种结构进行热点扩展,当某存储节点的请求负载高到一定程度时,将把负载动态迁移到hash环的下一个节点,同时进行数据的动态复制,以分担压力。当热点转移时,再把所有请求回退到原有缓存系统,并删除数据副本,这样,高请求负载压力被分摊的同时最小化了存储负载。
本文编号:3585501
【文章来源】:信息通信. 2020,(06)
【文章页数】:2 页
【部分图文】:
绿色CDN缓存节点系统架构
采用访问速度快的存储介质可有效提高I/O效率,但以SSD为代表的高速存储介质成本较高,因此,将根据用户访问模式判断热点数据,并综合访问频率、迁移开销等因素将热点数据从普通存储磁盘迁移到高速存储介质进行存储,而访问频率较低的数据则放入SATA等成本较低的磁盘中。具体的迁移判定准则为freq/size。freq为数据的访问频度,记录在对象文件系统的存储索引中,根据数据的访问次数进行更新,存储索引在系统运行时被全部导入内存,以便快速检索到哪些数据是热度变高或降低。freq越高,数据就越应该往高级别的磁盘上迁移。为文件的大小,决定了迁移一个文件的开销。为权重,决定迁移开销所占的比重,一般来说,缓存系统认为数据访问频度的重要性大过文件大小,按照经验,将改值设定为0.8。图2给出了一个简单的SATA/SSD两级存储的迁移示例,分别为每种存储介质定义了到上一级(或到下一级)的迁移阀值。如,当发现SATA硬盘某数据的freq/size值大于迁移到SSD硬盘的阀值,则写入SSD的memory中。stripe是写磁盘的一个基本单位,待一个stripe被填满时,再进行磁盘I/O,写入SSD硬盘。该方式的优点是可以尽量减少磁盘I/O次数,避免磁盘I/O过于频繁而造成的寿命降低。当数据热度降低时,数据又会从高级别的SSD硬盘写入低级别的SATA硬盘。2.2 基于一致性hash的热点扩展
目前,七层负载均衡主要通过一致性hash的调度策略[3],将接收到的请求调度到后端各缓存系统上,原理如图3所示。七层负载均衡代理维持一个一致性hash环,后端服务器都会映射到环上的若干个节点,当接收到请求时,七层代理通过相同的hash算法基于url计算生成一个hash值。这个hash值一定落在HASH环上,然后按照顺时针的方向可以找到最近的一个缓存系统。这样,任何缓存系统的加入或者退出都只会影响hash环上临近的节点。同时,选择合适的hash算法来保证不同的url会计算出不同的hash值。只要选择得当,大多数情况下可以保证负载均衡地落入不同的缓存系统节点。根据一致性hash的调度策略,每个经过七层负载均衡的请求都会被固定调度到相应的缓存系统上。由于数据访问存在热点,各个缓存系统的负载将会不均匀,甚至导致某些缓存系统无法承受。节点系统将对这种结构进行热点扩展,当某存储节点的请求负载高到一定程度时,将把负载动态迁移到hash环的下一个节点,同时进行数据的动态复制,以分担压力。当热点转移时,再把所有请求回退到原有缓存系统,并删除数据副本,这样,高请求负载压力被分摊的同时最小化了存储负载。
本文编号:3585501
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3585501.html