redis高可用的坑

公司使用了3台linux服务器安装了3个redis服务器,1个master,2个slave

用另外3台安装了3个哨兵,程序通过哨兵操作master

但程序运行过程中,发送短信模块,使用了redis对同一手机号进行了防止频繁操作、防止多次操作等拦截管理。短信先保存到数据库中,然后由定时器每10秒发送一次,但偶尔就会出现延迟发送,有时延迟1~2xi小时,导致最后发送失败,且拦截中,同一号码最多一天请求成功5次的设置,却出现请求成功了几十次(41次)的情况,存储到数据库的也有41条记录。

排查程序逻辑,并未发现什么问题

最后核查了linux服务器的系统时间,发现几台redis哨兵服务器与master的时间有一定差距(多的相差几分钟)。为保证时间统一,我将6台时间都修改为基本一致(相差1秒以内)。之后再继续观察短信延迟问题。

最后排查是程序访问数据库时,数据库服务器响应较慢造成。数据库备份时会锁表,这种情况更加造成程序访问卡顿,甚至长时间不响应

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值