工作中经常使用到定时任务批量更新数据库某表字段状态的情况,原先扫定时任务从一分钟扫一次db,虽然mysql有进程池,但是被大量的业务冲击下,当你脚本启动比较多的情况下,会造成大量的连接.经常还差出现mysql 抛出异常2006的情况.如果线上存在大量的业务拖垮了你的db服务那就是一个很糟糕的实践了.
思路,让脚本扫db改为扫redis或者rabbitmq kafuka
1.使用redis的队列,lPush RPush
2.使用rabbitmq 进行ack消费 绑定单独的交换机和队列
使用重入队列机制
3.使用kafuka 队列操作
好久没写了,后续补充,待续