人人商城关闭Redis的伤痛(人人商城关闭redis)
Redis是一个开源的使用ANSI尔茨来存储数据的可扩展的内存数据库,它能够以非常迅速的速度读写缓存,已经被很多企业所采用。在人人商城,我们也使用了Redis来缓存存储和读取数据,而且Redis是我们主要的使用媒介,为我们带来了非常深远的影响。
不幸的是,我们不得不关闭Redis,因为Redis实例对我们的集群造成了严重的负载,导致我们的网站整个返回出现问题,出现大量的延迟查询和大量的超时请求,我们只能在业务期间关闭Redis,以避免更大的损失。
当我们关闭Redis时,尽管我们能够解决资源紧张问题,但是也少不了带来一些伤痛。第一,在Redis流程中,我们对应该对业务进行调整,将Redis中的缓存数据迁移到MySQL或其他数据源,这将占用大量的时间和资源,影响到了开发及运维的工作效率;Redis已成为我们的主要数据源,关闭Redis部分和替代Redis的技术还未完全稳定,有可能引发负面的影响。
为了应对关闭Redis带来的伤害,在人人商城,我们采取了一系列措施来减少其他部分带来的损失。我们缩小了缓存池大小,减少了对资源的紧张;我们增强了缓存服务的替代能力,采用替代的技术,将MySQL作为主要的数据处理中心,优化代码,减少了缓存带来的负面影响。
最终,在确保缓存安全的情况下,我们重新启用了Redis实例,但数据的查询速度不再像以前一样快,我们可以从此次的Redis关闭中学习到很多,在未来我们会继续改进我们的数据处理流程,尽量避免出现这种状况,确保服务稳定性。