微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

workerman-json-rpc PHP JSON RPC 框架

程序名称:workerman-json-rpc

授权协议: GPL

操作系统: Linux

开发语言: PHP

workerman-json-rpc 介绍

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

特性:

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

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

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

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

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

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

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

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

  • 独立运行 ,不依赖NginxPHP-fpm、apache等容器

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

启动界面:

自带的监控模块:


服务端开发示例(例如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);

workerman-json-rpc 官网

http://www.workerman.net/workerman-jsonrpc

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐