webman集成GatewayWorker

0

webman集成GatewayWorker


在start.php文件修改,本想更改为自定义进程,发现改的很大,然后给提到了外面


就有几个比较初级的问题


本身Gateway是可以用$_SESSION了,那bootstrap.php里面的session是否可以不在启动Gateway时去重新加载一次?


http开了两个进程,那么在fork的时候是复制了一个session还是共享同一个??没有细看代码 手动狗头,,是在fork的时候引用的地址吗


关于DI的容器,是不是只要我worker启动一个的时候就得加载一次,他不是共享的,单独在各个进程??


其次这个核心数是真的不知道应该设定多大,假设服务器8核16G,我应该设定多少核心
截图


暂时集成还不知道有没有坑,其他一切正常


有没有大佬教教小弟...

已邀请:

walkor

赞同来自: ChuckWe

GatewayWorker和webman代码整合在一起没有多大意义。他们是独立的项目,应用场景也不同。将他们代码整合到一起类似与把MYSQL和Redis代码整合在一起的感觉。如果你需要在GatewayWorker中使用数据库 redis等组件,直接composer安装参照对应组件的文档使用就好了。


GatewayWorker 和 webman是独立的项目,任何一方更改或者session去掉session不影响另外一方,session都是独立不互通的。就像你改了MYSQL源码不影响Redis一样。


session是在有客户端连接请求时才有的东西,fork进程时进程里并没有任何session,不存在fork时复制或者共享session的说法。fork进程后有连接有请求的时候才会有session相关的操作。session原理基本都一样,找个地方把数据存起来,请求中有个类似sessionid的东西,请求来了就到存储里读取对应sessionid的数据,请求完毕写回存储。这个存储可能是磁盘、redis、甚至内存等。


每个进程都是独立的,内存及变量都是隔离的,互相不影响。每个进程启动的时候都会初始化自己的DI、Mysql、Redis等等


进程数参考手册 http://doc.workerman.net/faq/processes-count.html

要回复问题请先登录注册