重构拥抱Redis重构驱动的新方案(带redis缓存的驱动)
不久前,一个项目要求在正式的运行环境中进行实时处理,这使得我们面临着构建大规模并发系统的挑战。在深入研究之前,我们尝试构建一个新的重构驱动方案,主要使用Redis来支持实时处理。Redis 相对于传统的关系型数据库有着诸多优势,比如高并发、高性能、低延迟、快速存取等特性,能够有效支撑起我们的应用。因此我们准备把现有系统一部分数据,从关系型数据库(Oracle)转移到Redis中。
首先我们将原来的模型数据从关系型数据库中转移到Redis中,其中一些模型数据会存储到Redis的主内存区中,保持原子即时性,而部分数据通过RDB(Redis数据库)功能会存储到磁盘中,当然存储至磁盘的数据也能够实时处理,因此我们的系统依然可以支持实时操作。
然后我们通过灵活的配置,处理redis服务器之间的数据同步,保证原子性、即时性。为了增强系统的可靠性,我们通过在多台Redis服务器中采用主子复制策略,来保存数据,当接收到实时信息时,数据会被首先发送到主服务器,然后通过复制过程发送到其它子服务器上。
经过严格的测试和维护,我们最终把系统成功部署到测试环境中,系统采用Redis进行存储时,比传统关系型数据库有着明显的性能提升,在加上一些强大的性能优化工具,吞吐量比预期增加了许多,大大提升了系统性能。
采用Redis作为存储介质,经过重构之后,我们的系统不仅改善了性能,降低了系统构建的成本,更重要的是更加容易进行维护,极大的提高了可靠性和容错性。