这种方式存在以下2个问题
1.整个流程是同步的,server会一直等待php响应,一旦server处理不慎,会造成server阻塞,玩家无法玩牌。
...二.改进方式
后面改由server把牌局数据写到redis队列里,php使用守护进程处理redis队列。
...cron每5分钟运行gamelog.php,gamelog检测牌局队列数量,根据队列的数量动态fork对应的子进程处理牌局业务,当子进程数量有多余的空闲进程,gamelog.php
会杀掉多余的进程...,这种方式参考了php-fpm的dynamic模式,具体实现如下:
define('LEN', 50);//单进程处理牌局队列长度
define('PROC_MIN', 2);//最小进程数
define...http协议请求php快,极大减少了server等待牌局处理的时间。