老师,好久不见,最近业务上遇到些问题,有些问题想跟您讨论下,希望您可以帮忙解答下:
乐观锁问题。
乐观锁失败重试的问题,在免费领券的场景下,如果控制失败重试的次数,比如3次,其实并发量也可以上去的,只不过前端交互信息的展示并不友好,重试3次未领到,提示,系统繁忙,如果在业务场景允许的情况下是否也可以?
redis 缓存内存使用过量 的问题
我们线上的redis是主备模式的,内存单台8G,开启了rdb 持久化,当我们的有效缓存数据达到单机内存量的50%时,bgsave 开始的时候,我们的应用服务响应能力就慢了下来,因为copy on write 对当前内存数据的copy 使用了将近48% 的物理内存。
我能想到的方式都被运维怼了回来
1.持久化是要做的,提升我们的单机内存量到16 G?我觉得并不是长久之计。因为有效内存只增加 了4G.
2.开启AOF,但是rewrite 还是会遇到同样的问题。
3.分布式缓存,缓存数据切片 replication,但是他们坚决不同意,说什么要经过老板同意,我觉得这是在搪塞。
还请老师指点下。
我们线上的服务 响应能力过低。
当前我们的服务配置如下,API业务服务器4台,主备redis 2台,主备mysql 2台,负载均衡器主备2台,但是单独请求一个查询缓存的接口 ab -c100 -n 2000 https://xxxx.phicomm.com/Service/Kcode/KcodeAllGoods?pageNo=1 接口 QPS 只有200多,这个接口只是查询redis 中 sortedset 中的value,并根据score 进行降序排序,业务逻辑并不复杂,其他的单台服务器配置没有太大问题,QPS 压不上去的原因是什么呢?
还请老师帮忙解答下。