论文部分内容阅读
为了综合利用分布在各处的资源,实现负载均衡,提高系统性能,分布式应用系统得到快速发展,而对于分布式应用而言,上层业务逻辑模块和底层数据库存储通常是独立部署的。业务逻辑模块如何快速准确的获取底层数据库的数据是分布式应用比较重要的问题,如果仅仅使用传统的数据库作为存储介质,虽然能够实现数据持久化,但是在实际应用中会出现很多问题:一方面远程数据传输耗时较多,影响业务处理效率,从而影响系统性能;另一方面,同时执行大量的存取操作,会对数据库造成很大的压力,可能会造成数据库崩溃。本文针对上述问题,设计并实现了一个基于Redis缓存的用户仓库,它将主数据库中的用户数据读取后,缓存为本地节点的读数据库,为读写分离后的数据查询加速提供服务;并且提供分布式缓存服务,使区域内的所有节点的服务可以共享一份数据。本文的主要工作如下:1)对用户仓库以及Redis缓存技术进行了相关研究;2)描述了系统的相关技术背景,包括Redis缓存技术、远程数据分发技术以及分布式锁技术等;3)针对用户仓库进行需求分析与设计,介绍了系统的整体设计架构以及各个功能模块的详细设计方案;4)详细描述了用户仓库的具体实现,并且对各个模块实现的重点和难点技术进行描述。用户仓库使用Redis作为内存数据库实现了本地缓存的功能,利用Zookeeper实现了分布式锁,使用Datarelay实现了远程数据分发的功能。目前该系统已开发完成,处于使用阶段。