理解
- cache process定时广播,向worker process更新写入缓存数据
- CacheLoader.php中onPipeMessage接受cache的更新数据,写入到当前worker进程中
- 单worker处理过程使用了协程技术promise以及异步函数优化性能,结合主进程的资源池,使得各个worker间共享资源(redis、mysql)
疑问
- redis以及mysql初始化都在cache process中,worker process如何获取cache process的资源?? 因为cache process的初始化是在程序全局中,进程池的对象使用了主进程的静态变量,程序全局期的对象在这段时间持续驻留在内存中的,所以worker可以直接使用这些对象。