作为开发,我们必须熟悉自己所在公司的redis生产集群的部署架构。
主从架构?
集群架构?
用了哪种集群方案?
有没有做高可用保证?
有没有开启持久化机制确保可以进行数据恢复?
线上redis给几个G的内存?
设置了哪些参数?
压测后你们redis集群承载多少QPS?
redis cluster
10台机器,5台机器部署了redis主节点,另外5台机器部署了redis的从节点。
每个主节点挂了一个从节点,5个节点对外提供读写服务,每个节点的读写高峰QPS可能可以达到每秒5万,5台机器最多是25万个QPS。
机器配置
32G内存+8核CPU+1T磁盘,但是分配给redis进程的是10g内存,一般线上生产环境,redis的内存尽量不要超过10g,超过10g可能会有问题。
5台机器对外提供读写,一共有50g内存。
因为每个主实例都挂了一个从实例,所以是高可用的,任何一个主实例宕机,都会自动故障迁移,redis从实例会自动变成主实例继续提供读写服务
你往内存里写的是什么数据?每条数据的大小是多少?
商品数据,每条数据是10kb。100条数据是1mb,10万条数据是1g。常驻内存的是200万条商品数据,占用内存是20g,仅仅不到总内存的50%。
目前高峰期3500QPS。