摘要
现代互联网应用数据量大,并发高,对响应速率等要求极高。Redis作为高性能的分布式非关系型数据库,在互联网应用中表现极佳。现今Redis集群方案Redis Cluster有很多优越性,越来越多的项目都期望从Redis迁移到Redis cluster上,但如果直接迁移,工作量和复杂性极高。因此在研究对比当今流行的Redis集群系统架构设计和系统优化方案后,通过自研代理中间件Vcredisproxy在代理中间件中利用主从Reactor线程模型对原生Redis内部单一的NIO多路复用模型进行优化,使用MainReactor处理连接请求,然后将连接交由SubReactor,由SubReactor来处理读写请求。然后使用线程池,通过增加IO线程数来充分发挥多核CPU的优势,同时在代理中维护一张数据路由映射表,保证IO效率最大化。基于Redis cluster使用Java语言优化并实现了一种Redis集群系统。最后使用Redis-benchMark工具对系统进行压力测试。结果表明,单个Vcredisproxy性能相对于Codis代理性能提升了17%,同时采用优化后的系统框架后,部署两个Vcredisproxy代理性能相比部署两个Codis代理性能提升了15%。
-
单位四川轻化工大学