位置: 编程技术 - 正文

PHP并发多进程处理利器Gearman使用介绍(php 并发 解决方案)

编辑:rootadmin

推荐整理分享PHP并发多进程处理利器Gearman使用介绍(php 并发 解决方案),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php并发量一般多高,php并发编程,php进程数与并发关系,php多进程处理任务,php并发处理,php进程数与并发关系,php 多进程 多线程,php多进程处理任务,内容如对您有帮助,希望把文章链接给更多的朋友!

工作中我们有时候会遇到比如需要同时发布数据到多个个服务器上,或者同时处理多个任务。可以使用PHP的curl_multi的方式并发处理请求,但是由于网络和数据以及各个服务器等等的一些情况导致这种并发处理的响应时间很慢,因为在并发请求的过程中还包括记录日志,处理数据等逻辑,等待处理结果并返回,所以也不能友好的满足后台操作的体验。

现在有另外一种方案,利Gearman来实现并发的需求。通过Client将请求发送到Gearman的Jobs,在每个Work中来再来进行curl_multi和数据处理和日志等一些操作,同时用supervisor 来监控Gearman以及Works的进程,这样可以实现一个并行的多进程和负载均衡的方案。

Gearman可以做什么:

异步处理:图片处理,订单处理,批量邮件/通知之类的要求高CPU或内存的处理:大容量的数据处理,MapReduce运算,日志聚集,视频编码分布式和并行的处理定时处理:增量更新,数据复制限制速率的FIFO处理分布式的系统监控任务

Gearman工作原理:使用Gearman的应用通常有三部分组成:一个Client、一个Worker、一个 任务服务器。 Client的作用是提出一个 Job 任务 交给 Job Server 任务服务器。Job Server 会去寻找一个 合适的 Worker 来完成这项任务。Worker 执行由 Client 发送过来的 Job,并且将结果通过 Job Server 返回给 Client。Gearman 提供了 Client 和 Worker 的 API,利用这些API 应用可以同 Gearman Job Server来进行通信。Gearman 内部 Client 和 Worker 之间的通信都是通过 TCP 连接来进行的。

Gearman可以将工作的负载分担到不同的机器中。

安装:

PHP并发多进程处理利器Gearman使用介绍(php 并发 解决方案)

启动:gearmand -d

安装PHP Gearman扩展我都是用pcel来安装的,你也可以下载源码包来编译安装,但是记得要先安装libgearman和re2c,不然扩展编译安装会出错。

pecl install gearman #不成功并提示版本问题可以试试 pecl install gearman-1.0.3,默认好像是1.1.2编译安装也很简单

PHP接口函数Gearman提供很多完善的扩展函数,包括GearmanClient,GearmanJob,GearmanTask,GearmanWorker,具体可以查看PHP官方手册.这是官方提供的Example其中的一个,相当与一个并发的分发任务处理的例子

gearman_work.php

我在3个终端中都执行了gearman_work.php

来查看下执行gearman_work.php的结果shell

看到上面的3. seconds,说明client请求过去的任务被并行分发执行了。在实际的生产环境中,为了监测gearmand和work的进程没有被意外退出,我们可以借助Supervisor这个工具.

ECSHOP完美解决Deprecated: preg_replace()报错的问题 随着PHP5.5的普及,ECSHOP系统又爆出了新的错误。PHP发展到PHP5.5版本以后,有了很多细微的变化。而ECSHOP官方更新又太慢,发现这些问题后也不及时升级

完美解决phpdoc导出文档中@package的warning及Error的错误 今天在编写PHPDoc的导出文档的时候发现一个很郁闷的错误,虽然这个warning不是什么重要错误,但是看着总是很不爽的。于是就去网上找了很多相关的资

XHProf报告字段含义的解析 FunctionName:方法名称。Calls:方法被调用的次数。Calls%:方法调用次数在同级方法总数调用次数中所占的百分比。Incl.WallTime(microsec):方法执行花费的时

标签: php 并发 解决方案

本文链接地址:https://www.jiuchutong.com/biancheng/294899.html 转载请保留说明!

上一篇:php截取视频指定帧为图片(php截取指定字符串)

下一篇:ECSHOP完美解决Deprecated: preg_replace()报错的问题(ecshop有哪些bug)

  • 公司对个人的欠款怎么发律师函给他
  • 浅析建筑行业农民工的法律保护
  • 劳务报酬和工资薪金哪个税率高
  • 营业外收入汇算清缴需要调整吗
  • 出资款在现金流中怎么体现
  • 固定资产改造超过原值多少需要转固
  • 事业单位无形资产管理制度
  • 贸易公司的印花税税率是多少
  • 施工企业必须要注册造价工程师吗
  • 监理费可以由施工方出吗
  • 已认证的发票作废进项税转出账务处理
  • 建筑劳务公司收到劳务费会计分录
  • 自行承担税费是什么意思
  • 河道工程维护管理费征收
  • 这些常用的发票知识,你都知道了吗?
  • 公司食堂买菜入什么科目
  • 用于研发的材料进项能否加计抵扣1%
  • 小额零星业务上限是多少
  • 外方获得的利润怎么算
  • 怎么区分进和近
  • 购房时收取的卖方费用
  • 原材料质量问题退回
  • 税盘减免会计分录
  • 新版edge浏览器兼容ie
  • 评标专家评审费应该谁来付
  • 固定资产折旧方法的选择
  • 坏账准备 结转
  • vscode配置javafx
  • PHP:imagepalettetotruecolor()的用法_GD库图像处理函数
  • 场地租赁费需要计提吗
  • 库存商品转在建工程 增值税
  • 一二级公路增值税税率
  • php实现的加密解决方案
  • 商场代收款发票图片
  • 垃圾分类手工小模型
  • css 自定义变量
  • 博客管理系统开题报告
  • Es6的新特性promise对象的设计初衷是
  • vue3动态路由权限
  • js面试必问
  • 增值税附加税减免政策2022年
  • 本月没有销售收入,需要申报增值税吗
  • 土地被政府收回会计分录
  • sql server应用
  • 收入成本怎么做账
  • 床垫发票
  • 增值税的税目是什么意思
  • 收到联营企业分红怎么做
  • mysql的日期时间函数
  • 没有发票的房租怎么入账
  • 应收票据备查簿的作用
  • 进项票下月到,这个月怎么申报增值税
  • 建筑行业如何结算工程款
  • 主营业务收入在借方表示什么
  • 其他权益工具确认递延所得税负债
  • 用友现金流量明细表
  • sql多表连接查询效率
  • 重装系统注册表会重置吗
  • Win10 Build 17035自制64位中国版十合一ISO镜像下载地址
  • windowsserver2008r2忘记开机密码怎么办
  • windows怎么将任务栏放大
  • 电脑c盘里windows
  • Win7系统打开设备和打印机里面什么都没有
  • ubuntu无法解压tar.gz
  • WIN10系统中软件打开找不到网络共享盘
  • Ubuntu 14.04 64位搭建ADT开发环境的方法
  • mac文本软件
  • win8 64位触控版导致笔记本键盘失灵解决方法
  • Win7如何卸载dualmonitor
  • win8 怎么样
  • unityshader怎么用
  • nodejs安装express-g报错
  • cocos2dx 3.3 helloworld 入门 学习与详解
  • jquery多选
  • python伪装请求头
  • 浅析我国国防现状
  • js有几种模式
  • 税源管理科是干什么的工作
  • 国税湖南电子税务局官网
  • 小规模税控盘全额抵扣怎么做分录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设