论文部分内容阅读
在近几年的计算机技术发展过程中,云计算经历了快速的发展,取得了很好的成果。通过云计算和数据中心技术,大大降低了IT基础设施的使用成本。但是,云数据中心带来的资源集中化也存在一些不足。资源集中化后,终端用户到数据中心相距较远,长距离的网络传输不仅占用大量网络资源,而且其带来的高时延会减慢用户请求的响应速度,影响用户体验。CDN技术将网络资源缓存在距离用户较近的网络边缘,可以提升用户请求的响应速度。但是,现有的CDN主要加速静态资源,对于动态内容的加速效果非常有限。边缘计算把计算能力分发到网络边缘,从而在边缘节点生成动态内容,是实现CDN系统动态内容加速的重要手段。截至目前,CDN边缘计算平台尚未具备成熟的标准。在虚拟化领域,Docker作为一项重大的创新,它不仅在性能上超越常见的完全虚拟化,而且首次引入了集装箱的概念。Docker将程序和运行环境一起进行标准化封装,实现应用一次构建、到处运行。将Docker和CDN相结合,可以较好地满足CDN边缘计算平台的需求。本文以Docker为基础,设计并实现CDN边缘计算平台。平台可分为运营管理、内容路由、边缘计算三个子系统。边缘计算子系统由若干边缘节点组成,每个节点是一个容器集群,通过Docker容器编排工具Kubernetes进行管理。内容路由子系统先通过DNS解析将用户请求路由到边缘节点,然后通过本文实现的核心模块EC Proxy将请求转发到Kubernetes中具体容器进行处理。运营管理子系统负责服务的创建、更新、销毁流程。除了实现系统的基本工作流程,本文还对边缘节点和源节点间的数据同步机制进行分析,通过读写分离、主从同步策略,可以较好地实现两者之间的数据同步。最后,本文搭建了 CDN边缘计算实验平台,通过仿真测试,得出相关数据。根据对系统的功能测试和对用户请求响应时间的分析,验证了基于Docker的CDN边缘计算平台的可行性和优越性。