服务去耦合

场景:

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

干扰因素:

服务器重启;

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

 

异常:

数据未同步;

 

原因:

原同步数据服务是php脚本依赖的php-web服务;;等同步任务开始执行时,php-web服务是不可用的,所以数据没同步; web网站异常,相关的都异常。
 
相关排查:
查开机启动项、cron定时任务日志,结论:定时任务服务自身正常。
 
 
上游原因:
php-web服务中耦合了门禁广告-接口服务,QPS大于1,并发请求,堵塞了fastcgi-php-fpm对请求的接受,服务器拒绝接受新的请求。
 
对策:
去耦合,服务剥离,增加抗并发能力;
读取数据的服务,可以交给go去处理,结合redis,数据尽量走缓存;
 
 
 
 
 
 
 
 
posted @ 2019-03-12 18:22  papering  阅读(300)  评论(0编辑  收藏  举报