03 2017 档案
使用PHP来简单的创建一个RPC服务
摘要:RPC全称为Remote Procedure Call,翻译过来为"远程过程调用"。主要应用于不同的系统之间的远程通信和相互调用。 比如有两个系统,一个是PHP写的,一个是JAVA写的,而PHP想要调用JAVA中的某个类的某个方法,这时候就需要用到RPC了。 怎么调?直接调是不可能,只能是PHP通过
阅读全文
gearman中任务的优先级和返回状态
摘要:gearman中任务的优先级和返回状态 一、任务的优先级 同步阻塞调用,等待返回结果 异步派发任务,不等待返回结果,返回任务句柄,通过该句柄可获取任务运行状态信息 注意Task和doXXX区别,Task是一组job,派发后会分配到多个worker上并行执行并返回结果给调用方。而doXXX的每个任务只
阅读全文
使用swoole编写简单的echo服务器
摘要:server.php代码如下: client.php代码如下: 然后分别运行这两个脚本 运行结果如下:
阅读全文
centos7下swoole1.9的安装与HttpServer的使用
摘要:一、下载swoole源码包 如:swoole-src-1.9.6.tar.gz 二、编译安装 我的php是安装在/data/php56下,请自行修改 修改php.ini文件添加如下两行 以下路径请根据自的环境修改 查看扩展是否装上 三、HttpServer的使用 http.php代码如下: 运行该脚
阅读全文
gearman中worker常驻后台,导致MySQL server has gone away
摘要:产生这个原因主要有如下几点: 为了演示的方便,设置wait_timeout时间为10秒 worker.php代码如下: client.php代码如下: 执行的结果如下图所示,出现了MySQL server has gone away的情况。 一般的解决方法: 1、调大wait_timeout的值(不
阅读全文
使用gearman进行异步的邮件或短信发送
摘要:一、准备工作 1、为了防止,处理业务途中出现的宕机,请配置好gearman的持久化方式。2、使用gearmanManager来管理我们的worker脚本,方便测试。 上述两条请看我之前写的两篇文章 二、编写测试脚本 sendEmail.php代码如下: client.php代码如下: 三、修改gea
阅读全文
gearman的持久化,以mysql的方式
摘要:1、为什么要持久化? gearman的job server中的工作队列存储在内存中,一旦服务器有未处理的任务时重启或者宕机,那么这些任务就会丢失。持久化存储队列可以允许添加后台任务,并将其存储在外部的持久型队列里(比如MySQL数据库)。 2、关于gearman的持久化的文章,建议可以看官方文档 3
阅读全文
gearman管理工具GearmanManager的安装与使用
摘要:一、gearman自带了一个gearadmin工具 查看帮助信息 查看状态 查看worker信息 二、为什么要用GearmanManager 为什么要用GearmanManager来管理我们的worker,因为我们用php编写的worker是要常驻后台运行的。而且一旦worker过多时,代码更新,难
阅读全文
php使用gearman进行任务分发
摘要:一、安装gearman 下载gearman源码包 如: gearmand-1.1.12.tar.gz 下载php的gearman扩展包 如: gearman-1.1.2.tgz 安装gearman 安装gearman的php扩展(建议php版本不要过高,因为php7的gearman扩展目前还没有出来
阅读全文
centos7下的FastDFS5.09的安装与使用
摘要:FastDFS是一款开源的轻量级分布式文件系统,纯C实现,支持Linux、FreeBSD等Unix系统。 类google FS,不是通用的文件系统,只能通过专有API访问。 FastDFS服务端有两种角色:跟踪器(tracker)和存储节点(storage)。 tracker主要做调度工作,在访问上
阅读全文
centos7下的glusterfs的安装与使用
摘要:环境说明: 两台虚拟主机,IP分别为192.168.1.222和192.168.1.233,分别装上glusterfs。 一、下载glusterfs源码包 如:glusterfs-3.6.9.tar.gz 二、编译安装 安装必要的依赖 安装liburcu 解压并编译安装 添加环境变量 三、使用glu
阅读全文