首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
swoole的woker高并发原理是怎样实现的?
看了swoole的源代码,采用了master多个线程reactor接收请求后,将消息通过pipe发送到worker执行,worker中同样采用了reactor接收数据,然后直接调用OnRequest的的回调函数去执行业务代码,之后层层返回给客户端。 其中的逻辑worker的逻辑没看明白,worker接收到数据后,直接回调OnRequest的函数,这个函数是业务代码,是阻塞的,那这里就应该用不了reactor的高效性,【事件通知,不用等待】。 鉴于回调是阻塞的,那么怎么能保证swoole的高效运行呢?类似于nginx-fpm,计算能力在worker层了是吗?这里比fpm快的原因是少了fpm的RINIT, RSHUTDOWN, 框架加载等? 谢谢回答。
发布于8年前 · 0 次浏览 · 来自
提问
s
see7di
看了swoole的源代码,采用了master多个线程reactor接收请求后,将消息通过pipe发送到worker执行,worker中同样采用了reactor接收数据,然后直接调用OnRequest的的回调函数去执行业务代码,之后层层返回给客户端。 其中的逻辑worker的逻辑没看明白,worker接收到数据后,直接回调OnRequest的函数,这个函数是业务代码,是阻塞的,那这里就应该用不了reactor的高效性,【事件通知,不用等待】。 鉴于回调是阻塞的,那么怎么能保证swoole的高效运行呢?类似于nginx-fpm,计算能力在worker层了是吗?这里比fpm快的原因是少了fpm的RINIT, RSHUTDOWN, 框架加载等? 谢谢回答。
赞
0
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
登录
后参与评论
评论
2018-10-07
陈
陈天
同样关注
赞
0
回复