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等容器
安装部署超级方便,下载解压后启动服务即可使用
启动界面:
自带的监控模块:
服务端开发示例(例如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);
workerman json mysql_workerman-json-rpc相关推荐
- javascript json和json字符串互转
javascript json和json字符串互转 <!DOCTYPE html> <html lang="en"><head><meta ...
- 使用Newtonsoft.Json.dll(JSON.NET)动态解析JSON、.net 的json的序列化与反序列化(一)...
在开发中,我非常喜欢动态语言和匿名对象带来的方便,JSON.NET具有动态序列化和反序列化任意JSON内容的能力,不必将它映射到具体的强类型对象,它可以处理不确定的类型(集合.字典.动态对象和匿名对象 ...
- Newtonsoft.Json(Json.net)的基本用法
Newtonsoft.Json(Json.net)的基本用法 添加引用: 使用NuGet,命令:install-package Newtonsoft.Json 实体类: public class Bo ...
- javascript 数组和对象的浅复制和深度复制 assign/slice/concat/JSON.parse(JSON.stringify())...
javascript 数组和对象的浅度复制和深度复制 在平常我们用 '='来用一个变量引用一个数组或对象,这里是'引用'而不是复制下面我们看一个例子引用和复制是什么概念 var arr=[1,2,3, ...
- 使用JSON.parse(),JSON.stringify()实现对对象的深拷贝
使用JSON.parse(),JSON.stringify()实现对对象的深拷贝 根据不包含引用对象的普通数组深拷贝得到启发,不拷贝引用对象,拷贝一个字符串会新辟一个新的存储地址,这样就切断了引用对象 ...
- python 编码文件json.loads json.dumps
python 编码文件json.loads json.dumps import yaml d = {'name': '张三', 'age': '1'} print d jd = json.dumps( ...
- js 数组、对象转json 以及json转 数组、对象
1.JS对象转JSON 方式:JSON.stringify(obj) var json = {"name":"iphone","price" ...
- 十分钟搞懂JSON(JSON对象---JSON字符串---对象 之间的区别)
好记性不如烂笔头,相信我,看了之后你会彻底搞懂JSON 前言:前天被JSON对象,JSON字符串,JAVA对象搞混了,不知道各自代表的意思,我就查了资料,总结为一篇博文. 另外我想List<Us ...
- android 数组指针异常,Android JSON解析Json数组是[]在解析时抛出空指针异常,如何以正确的方式写入?...
我有复杂的API,我解析并显示在列表视图中,我将努力解析JSONArray.Here我将在斗争之后Json数组这是在帖子json对象"tags_name":["Activ ...
- 将html代码确析成json数据格式,JSON字符串解析成JSON数据格式
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery的ea ...
最新文章
- [iOS]过渡动画之高级模仿 airbnb
- 曙光高性能服务器,曙光高性能进入世界前十_中科曙光服务器_服务器知识学堂-中关村在线...
- boost::mp11::mp_take相关用法的测试程序
- winform进度条实现
- php 时间选择,PHP-在学说2中的日期之间选择条目
- crc错误 modbus poll_干货丨从Modbus开始说现场总线!
- MySQL的jar包下载
- 小米wifi怎么创建虚拟服务器,小米路由器玩法:一键安装LLMP 建自己的网站
- 线路,数据通路,数据总线的关系
- 在java中获取全年的节假日(包含周末和法定节假日及调休日)
- 网易云音乐html代码报告,网易云音乐H5案例欣赏:你的2017年度听歌报告
- [SV]SystemVerilog Structured Procedures --- always_comb、always_ff、always_latch
- mysql删除多表视图数据,【杂谈】怎样删除mysql数据表视图中数据
- ArcGIS基础知识之shape文件的构成
- CSS中hover出现不生效的几个原因 ?
- 前端埋点和后端埋点能分开使用吗?【数据埋点介绍】
- 我把SpringBoot的banner换成了美女;老板:工作不饱和,建议加班
- 插件3-滑动验证(geetest)
- 手机使用打印机打印方法须知
- 1-1、惠普DL380 配置bios,raid