场景:

php-mvc下的web站代码中耦合了数据同步的任务;

干扰因素:

服务器重启;

历史服务器重启后,cron定时任务没有启动;

 

异常:

数据未同步;

 

原因:



原同步数据服务是php脚本依赖的php-web服务;;等同步任务开始执行时,php-web服务是不可用的,所以数据没同步; web网站异常,相关的都异常。


 


相关排查:


查开机启动项、cron定时任务日志,结论:定时任务服务自身正常。


 


 


上游原因:


php-web服务中耦合了门禁广告-接口服务,QPS大于1,并发请求,堵塞了fastcgi-php-fpm对请求的接受,服务器拒绝接受新的请求。


 


对策:


去耦合,服务剥离,增加抗并发能力;


读取数据的服务,可以交给go去处理,结合redis,数据尽量走缓存;