workerman的集群怎么开发

发布时间 - 2019-12-12 00:00:00    点击率:

gatewayworker基于workerman开发的一个项目框架,用于快速开发tcp长连接应用,例如app推送服务端、即时im服务端、游戏服务端、物联网、智能家居等等

Workerman可以看做是一个纯粹的socket类库,可以开发几乎所有的网络应用,不管是TCP的还是UDP的,长连接的还是短连接的。Workerman代码精简,功能强大,使用灵活,能够快速开发出各种网络应用。                         (推荐学习: workerman教程)

同时Workerman相比GatewayWorker也更底层,需要开发者有一定的多进程编程经验。

提示

GatewayWorker提供的所有接口都是支持分布式调用的,所以业务代码不需要任何更改,直接就可以分布式部署。

如何分布式GatewayWorker

GatewayWorker通过Register服务来建立划分集群。同一集群使用相同的Register服务ip和端口,即Gateway 和 businessWorker的注册服务地址($gateway->registerAddress $businessworker->registerAddress)指向同一台Register服务。

分布式部署的关键步骤

1、一个集群只需要一台服务器作为Register服务,用于进程启动时协调Gateway与BusinessWorker之间的建立连接通讯,其它服务器可以删掉start_register.php文件或者注释掉里面的代码。

(Register服务本身通讯量极低,一般仅在进程启动时通讯,所以Register服务本身不会成为瓶颈,运行过程中即使Register服务服务器暂时挂掉,也不会对外网服务造成影响,所以Register服务一般不需要做高可用)

2、将Gateway 和 businessWorker的注册服务地址(registerAddress)设置成统一的Register服务地址,也就是步骤1选择的Register服务所在服务器的ip和端口。

3、设置Gateway启动脚本(一般是start_gateway.php)中的lanIp与当前服务器内网ip一致


# workerman  # php  # 分布式  # gateway  # register  # 接口  # udp  # 物联网 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  js实现获取鼠标当前的位置  Python高阶函数应用_函数作为参数说明【指导】  如何在阿里云完成域名注册与建站?  5种Android数据存储方式汇总  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  高性能网站服务器配置指南:安全稳定与高效建站核心方案  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  微信小程序 scroll-view组件实现列表页实例代码  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  网站制作大概多少钱一个,做一个平台网站大概多少钱?  LinuxCD持续部署教程_自动发布与回滚机制  Thinkphp 中 distinct 的用法解析  油猴 教程,油猴搜脚本为什么会网页无法显示?  如何选择PHP开源工具快速搭建网站?  电商网站制作价格怎么算,网上拍卖流程以及规则?  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  Laravel如何处理异常和错误?(Handler示例)  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  如何用PHP工具快速搭建高效网站?  Android仿QQ列表左滑删除操作  如何在云服务器上快速搭建个人网站?  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  Laravel项目怎么部署到Linux_Laravel Nginx配置详解  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  Laravel怎么上传文件_Laravel图片上传及存储配置  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  微信小程序 input输入框控件详解及实例(多种示例)  如何在搬瓦工VPS快速搭建网站?  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  实现点击下箭头变上箭头来回切换的两种方法【推荐】  如何快速建站并高效导出源代码?  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  详解Huffman编码算法之Java实现  Laravel storage目录权限问题_Laravel文件写入权限设置