
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习达内软件编程开发等互联网技术,而本文我们就通过案例分析来简单了解一下,Redis集群测试思路及常见问题。
集群搭建好之后,就可以对集群的各种功能和使用进行测试了。一般我们会从两个方面来制定测试计划:1、集群功能测试;2、集群调优测试
1、集群功能测试
集群功能测试属于基本的测试,是为了验证集群所提供的各种功能是否能正常使用,主要有以下方面的内容:
•主从节点的数据备份是否正常
•主从节点的切换功能是否正常
•监控及故障转移功能是否正常
•集群扩缩容功能是否正常
集群的功能测试类似于黑盒测试,内容比较简单,在这里我们就不展开介绍了,下面主要介绍一下集群在使用过程中的调优测试。
2、集群调优测试
集群调优测试,是为了验证集群在提供服务时,如何大限度避免因各种异常导致数据丢失或者缓存功能失效,提前对配置进行调优或者提前预案,从而保证缓存架构设计是优的。需要注意的点主要有:集群脑裂、缓存穿透、缓存击穿、缓存雪崩、缓存预热、缓存降级、缓存更新,下面分别介绍一下定义以及解决方案。
集群脑裂
定义
当Redis主从集群环境出现两个主节点为客户端提供服务,这时客户端请求命令可能会发生数据丢失的情况。脑裂产生的场景主要有两个:
1.如果哨兵正在进行选举,故障转移的过程中原主节点恢复和客户端的通信,那么证明原主节点没有真正的故障,这时客户端依旧可以向原主节点正常通信,但是当故障转移结束后,就又产生了一个主节点,这就是脑裂产生的一个场景。
2.网络分区,主节点和客户端,哨兵和从库分割为了两个网络,主库和客户端处在一个网络中,从库和哨兵在另外一个网络中,此时哨兵也会发起主从切换,出现两个主节点的情况。
脑裂出现后带来严重的后果就是数据丢失,为什么会出现数据丢失的问题呢?
主要原因是新主库确定后会向所有的实例发送slaveof命令,让所有实例重新进行全量同步,而全量同步先就会将实例上的数据先清空,所以在主从同步期间在原主库执行的命令将会被清空(上面场景二是同样的道理,在网络分区恢复后原主节点将被降级为从节点,并且执行全量同步导致数据丢失),所以这就是数据丢失的具体原因。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加抖音太原达内IT培训学习了解。