全文总字数:2368字
毕业论文课题相关文献综述
一、分布式缓存系统的现状
云计算环境下,为了应对海量用户请求带来的挑战,解决大规模数据访问的性能瓶颈,缓存技术得以被引入。
在客户端,通常有浏览器cookie,浏览器端数据库,HTML5本地存储等类型的缓存,这些技术依赖于日渐强大的浏览器的处理能力,将部分用户数据存储在客户端,减少用户等待从服务器获取数据的时间,提升用户体验。
在浏览器与源服务器之间通常还有代理服务器缓存以及CDN(Content Delivery Network)缓存。代理服务器在接受用户请求时,先经过自身处理(比如缓存匹配,权限验证等),再将请求转发到源服务器或者直接向客户端返回所需资源。CDN缓存,也叫网关缓存、反向代理缓存,其在互联网各处区域部署大量的缓存节点,并实时的根据网络流量以及各节点的负载状况,动态地将用户请求重新导向至距离用户较近的服务节点上。无论是代理服务器还是CDN,都不只为一个用户服务,一般为大量用户提供服务,因此在减少响应时间和带宽使用方面很有效,同一个副本会被重用多次。
在业务服务端,通常有本地缓存,分布式缓存两种缓存类型。利用本地缓存来存储变化率极低的数据是一个不错的方法,在分布式系统中,本地缓存效率最高,直接存储于服务器本地内存或磁盘中,但由于分布式系统中的每台服务器都有可能存储一份数据在本地内存或磁盘,当数据发生变化时,会造成集群中不同服务器上的缓存数据不一致,因此限制了本地缓存的使用场景。
分布式缓存能够为用户提供高性能,高可用,可伸缩的数据缓存服务。分布式缓存将数据分布到多个缓存服务节点,对外提供统一的访问接口,并避免了多个本地缓存之间的数据一致性问题。同时,分布式缓存能够适应业务系统负载的变化,动态的增加或者减少缓存资源,并且不会因为单个缓存节点的失效使得缓存服务终止。
二、分布式缓存系统的工作原理
在一个分布式缓存系统中,每个缓存节点都拥有整个系统缓存数据的一部分。通常客户端会根据一致性哈希算法来选择用来存放和获取缓存数据的节点,当缓存节点不存在客户端所请求的数据时,才会向源站发起数据请求。理想情况下,如果能够大幅提高缓存命中率,将极大地减少网络上的流量,减少源站访问压力,缩短客户端请求的响应时间,提高用户体验。
然而在这种架构下,有时某个缓存节点会意外失效导致缓存数据丢失,从而短时
间内给源站带来访问压力,延长了客户端请求的响应时间,为了解决这个问题,有些分布式缓存系统采取了多副本的策略,将同一份数据缓存在多个节点中。
以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。