workerman json mysql_workerman-json-rpc

软件简介

一款使用PHP开发的高性能Json Rpc框架,框架使用TCP/IP协议直接传输json数据,系统集成统计监控模块,开发部署维护非常简。workerman-

json-rpc 包含了服务端和客户端。

特性:

使用PHP开发,与PHP紧密结合

PHP 多进程 ,充分利用服务器多cpu资源

支持 libevent 事件轮询库,支持高并发

支持服务 平滑重启 ,热升级程序,不影响用户

支持PHP 文件更新检测 及自动加载

使用 JSON 作为协议,开发调试非常方便

集成统计监控模块,方便查看服务调用量、成功率、耗时等情况

自带PHP客户端, 支持异步并发调用,实现并行计算

独立运行 ,不依赖nginx、php-fpm、apache等容器

安装部署超级方便,下载解压后启动服务即可使用

启动界面:

532ce5f6b07dbf6f4bf3d6f17079b65c.png

自带的监控模块:

1d0d05bb3beed672763226f943f6c0db.png

服务端开发示例(例如User服务)

创建文件./applications/JsonRpc/Services/User.php

class User

{

public static function getInfoByUid($uid)

{

// ....

}

public static function getEmail($uid)

{

// ...

}

}

客户端使用示例

客户端同步调用和异步调用

// 配置服务端列表,站点入口统一配置一次即可

RpcClient::config(array(

'tcp://127.0.0.1:2015',

'tcp://127.0.0.1:2015'

));

// 获取实例

$user_client = RpcClient::instance('User');

// ====同步调用方法示例====

$ret_sync = $user_client->getInfoByUid($uid);

// ==== 异步调用方法示例 ====

// 异步调用User::getInfoByUid方法

$user_client->asend_getInfoByUid($uid);

// 异步调用User::getEmail方法

$user_client->asend_getEmail($uid);

这里是其它的业务代码,此时服务端User::getInfoByUid、User::getEmail

两个方法正在并发执行,调用者此时可以继续做其它业务逻辑

.........业务逻辑...........

.........业务逻辑...........

// 需要数据的时候异步获取数据

$ret_async1 = $user_client->arecv_getEmail($uid);

$ret_async2 = $user_client->arecv_getInfoByUid($uid);

b80da0954784c2880fea0119926b6f13.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值