场景:
php-mvc下的web站代码中耦合了数据同步的任务;
干扰因素:
服务器重启;
历史服务器重启后,cron定时任务没有启动;
异常:
数据未同步;
原因:
原同步数据服务是php脚本依赖的php-web服务;;等同步任务开始执行时,php-web服务是不可用的,所以数据没同步; web网站异常,相关的都异常。
相关排查:
查开机启动项、cron定时任务日志,结论:定时任务服务自身正常。
上游原因:
php-web服务中耦合了门禁广告-接口服务,QPS大于1,并发请求,堵塞了fastcgi-php-fpm对请求的接受,服务器拒绝接受新的请求。
对策:
去耦合,服务剥离,增加抗并发能力;
读取数据的服务,可以交给go去处理,结合redis,数据尽量走缓存;