论文部分内容阅读
分布式缓存技术一直以来都是理论和应用研究的热点领域,特别是最近几年随着互联网的进一步普及,网络应用系统的规模逐步扩大,不单是应用系统本身在扩大,使用系统的人群也在不断扩大。随着WEB2.0概念的流行和推广,使互联网不再是单方面的向用户发布信息,而是更多地提倡共享信息,提倡用户主动地将信息发布到互联网中。在这种思想的带动下,大量的BLOG网站、社交(SNS)网站如雨后春笋一样地生长出来,如Facebook、LinkedIn、MySpace、Twitter等。形成了一个个庞大的用户社区平台。这类应用有一个共同点,就是用户量大、信息更新频繁。另外还有近几年电子商务的发展,在线购物的人群也大大地增加,像淘宝网、拍拍网、亚马逊、京东这些大型的电子商务网站,每时每刻都会产生巨大的网络流量。所有这些应用都无不依赖于缓存技术,如果没有适当的缓存架构和方案,这些应用将无法应对如此大规模的数据量和如此高并发量的访问,也就无法提供良好的用户体验。本文描述了当今的缓存技术和产品以及缓存技术相关的置换算法和同步策略,接着介绍了分布式缓存技术相关的网络拓扑结构、数据分布模式、负载均衡技术以及用于分布式缓存系统的数据同步策略,然后详细分析了缓存产品memcached的各项内部机制和数据结构,在此基础上提出了memcached-authz组件,用于弥补memcached在命令行缓存协议方面的不足,协助memcached服务器(集群)进行缓存的授权访问和认证,对受信应用系统域提供安全的缓存服务。本文提出并比较了两种解决memcached安全认证问题的实现方案,即通过内置集成安全认证模块和通过代理实现安全认证模块两种方式。对两种方案进行了分析,在对两种方案原型系统的实验基础上选择了第二种方案以保证软件的可扩展性。接着针对第二种方案详细论述了其设计实现过程以及实验结果,证明了通过使用这种方案提供的方法可以让memcached-authz组件与memcached服务器(集群)一起协同工作提供带有安全验证机制的缓存服务。