CatApiApp

理解

  • cache process定时广播,向worker process更新写入缓存数据
  • CacheLoader.php中onPipeMessage接受cache的更新数据,写入到当前worker进程中
  • 单worker处理过程使用了协程技术promise以及异步函数优化性能,结合主进程的资源池,使得各个worker间共享资源(redis、mysql)

疑问

  1. redis以及mysql初始化都在cache process中,worker process如何获取cache process的资源?? 因为cache process的初始化是在程序全局中,进程池的对象使用了主进程的静态变量,程序全局期的对象在这段时间持续驻留在内存中的,所以worker可以直接使用这些对象。

架构图

架构图

生命周期

生命周期

主模块流程

主模块流程