workerman json mysql_workerman-json-rpc
軟件簡介
一款使用PHP開發(fā)的高性能Json Rpc框架,框架使用TCP/IP協(xié)議直接傳輸json數(shù)據(jù),系統(tǒng)集成統(tǒng)計監(jiān)控模塊,開發(fā)部署維護非常簡。workerman-
json-rpc 包含了服務端和客戶端。
特性:
使用PHP開發(fā),與PHP緊密結(jié)合
PHP 多進程 ,充分利用服務器多cpu資源
支持 libevent 事件輪詢庫,支持高并發(fā)
支持服務 平滑重啟 ,熱升級程序,不影響用戶
支持PHP 文件更新檢測 及自動加載
使用 JSON 作為協(xié)議,開發(fā)調(diào)試非常方便
集成統(tǒng)計監(jiān)控模塊,方便查看服務調(diào)用量、成功率、耗時等情況
自帶PHP客戶端, 支持異步并發(fā)調(diào)用,實現(xiàn)并行計算
獨立運行 ,不依賴nginx、php-fpm、apache等容器
安裝部署超級方便,下載解壓后啟動服務即可使用
啟動界面:
自帶的監(jiān)控模塊:
服務端開發(fā)示例(例如User服務)
創(chuàng)建文件./applications/JsonRpc/Services/User.php
class?User
{
public?static?function?getInfoByUid($uid)
{
//?....
}
public?static?function?getEmail($uid)
{
//?...
}
}
客戶端使用示例
客戶端同步調(diào)用和異步調(diào)用
//?配置服務端列表,站點入口統(tǒng)一配置一次即可
RpcClient::config(array(
'tcp://127.0.0.1:2015',
'tcp://127.0.0.1:2015'
));
//?獲取實例
$user_client?=?RpcClient::instance('User');
//?====同步調(diào)用方法示例====
$ret_sync?=?$user_client->getInfoByUid($uid);
//?====?異步調(diào)用方法示例?====
//?異步調(diào)用User::getInfoByUid方法
$user_client->asend_getInfoByUid($uid);
//?異步調(diào)用User::getEmail方法
$user_client->asend_getEmail($uid);
這里是其它的業(yè)務代碼,此時服務端User::getInfoByUid、User::getEmail
兩個方法正在并發(fā)執(zhí)行,調(diào)用者此時可以繼續(xù)做其它業(yè)務邏輯
.........業(yè)務邏輯...........
.........業(yè)務邏輯...........
//?需要數(shù)據(jù)的時候異步獲取數(shù)據(jù)
$ret_async1?=?$user_client->arecv_getEmail($uid);
$ret_async2?=?$user_client->arecv_getInfoByUid($uid);
總結(jié)
以上是生活随笔為你收集整理的workerman json mysql_workerman-json-rpc的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “伫立为谁久”上一句是什么
- 下一篇: thinkphp mysql日志_MyS