文档章节

swoole简单的流程图(Worker的分配)

304158
 304158
发布于 2017/06/27 18:06
字数 292
阅读 260
收藏 0

 WorkerStart 的回调

$serv->on('WorkerStart',function ($serv,$worker_id){
        echo "启动了一个Worker";
    });

 

Worker进程的任务分配模式是?

worker进程数据包分配模式

dispatch_mode = 1 //1平均分配,2按FD取摸固定分配,3抢占式分配,默认为取模(dispatch=2)

抢占式分配,每次都是空闲的worker进程获得数据。很合适SOA/RPC类的内部服务框架
当选择为dispatch=3抢占模式时,worker进程内发生onConnect/onReceive/onClose/onTimer会将worker进程标记为忙,不再接受新的请求。reactor会将新请求投递给其他状态为闲的worker进程
如果希望每个连接的数据分配给固定的worker进程,dispatch_mode需要设置为2

$serv->on('receive', function ($serv, $fd, $from_id, $data) {//接收到来自客户端信息的回调
        $serv->send($fd, 'Swoole: '.$data);
        $serv->tick(1000, function() use ($serv, $fd) {
            $serv->send($fd, $serv->worker_id);

        });
    });
/*向客户端发送当前worker的ID,在设置为平均分配时,测试可以开启两个客户端,非常明显的就可以看出
是两个不同的worker进程发来的信息    $serv->send($fd, $serv->worker_id);*/

© 著作权归作者所有

共有 人打赏支持
304158
粉丝 1
博文 105
码字总数 30016
作品 0
大兴安岭
基于SWOOLE的分布式SOCKET消息服务器架构

消息服务器使用socket,为避免服务器过载,单台只允许500个socket连接,当一台不够的时候,扩充消息服务器是必然,问题来了,如何让链接在不同消息服务器上的用户可以实现消息发送呢? 要实现...

tomener
2016/06/16
339
0
swoole-1.7.16 版本已发布,BUG 修复版本

PHP的异步并行网络扩展 swoole1.7.16 版本已发布,此版本为BUG修复版本,建议所有用户升级。下载地址: http://pecl.php.net/package/swoole https://github.com/swoole/swoole-src/releases...

matyhtf
2015/05/11
1K
28
Swoole 1.10.0 发布,增加多项新特性

PHP的异步、并行、高性能网络通信引擎 Swoole 已发布 1.10.0 版本。此版本增加了多项新特性。 自动 DNS 解析 新版本的异步客户端不再需要使用 swooleasyncdnslookup 解析域名了,底层实现了自...

matyhtf
01/08
824
11
swoole-1.7.8 已发布,建议所有用户升级

swoole-1.7.8 已发布,此版本为BUG修复版本,建议所有用户升级。 主要更新: 修复swoolehttpserver::on未执行父类方法的问题 修复swoolehttpserver中COOKIE无法读取的问题 增加swoolehttpser...

matyhtf
2014/11/26
2.3K
7
swoole 在 swoft 中的应用

date: 2017-12-14 21:34:51 title: swoole 在 swoft 中的应用 swoft 官网: https://www.swoft.org/ swoft 源码解读: http://naotu.baidu.com/file/814e81c9781b733e04218ac7a0494e2a?token=......

daydaygo
2017/12/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

20180920 rzsz传输文件、用户和用户组相关配置文件与管理

利用rz、sz实现Linux与Windows互传文件 [root@centos01 ~]# yum install -y lrzsz # 安装工具sz test.txt # 弹出对话框,传递到选择的路径下rz # 回车后,会从对话框中选择对应的文件传递...

野雪球
今天
1
0
OSChina 周四乱弹 —— 毒蛇当辣条

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ 达尔文:分享花澤香菜/前野智昭/小野大輔/井上喜久子的单曲《ミッション! 健?康?第?イチ》 《ミッション! 健?康?第?イチ》- 花澤香菜/前野智...

小小编辑
今天
7
3
java -jar运行内存设置

java -Xms64m #JVM启动时的初始堆大小 -Xmx128m #最大堆大小 -Xmn64m #年轻代的大小,其余的空间是老年代 -XX:MaxMetaspaceSize=128m # -XX:CompressedClassSpaceSize=6...

李玉长
今天
3
0
Spring | 手把手教你SSM最优雅的整合方式

HEY 本节主要内容为:基于Spring从0到1搭建一个web工程,适合初学者,Java初级开发者。欢迎与我交流。 MODULE 新建一个Maven工程。 不论你是什么工具,选这个就可以了,然后next,直至finis...

冯文议
今天
2
0
RxJS的另外四种实现方式(四)——性能最高的库(续)

接上一篇RxJS的另外四种实现方式(三)——性能最高的库 上一篇文章我展示了这个最高性能库的实现方法。下面我介绍一下这个性能提升的秘密。 首先,为了弄清楚Most库究竟为何如此快,我必须借...

一个灰
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部