摘要:是基于和的高性能服務(wù)框架核心特性基于提供分布式服務(wù)器通訊服務(wù)基于提供遠(yuǎn)程調(diào)用服務(wù)基于提供在線網(wǎng)絡(luò)直播平臺(tái)服務(wù)基于提供同步異步數(shù)據(jù)庫(kù)連接池服務(wù)基于提供異步任務(wù)服務(wù)器投遞任務(wù)服務(wù)基于提供服務(wù)器硬件實(shí)時(shí)監(jiān)控服務(wù)基于提供共享數(shù)據(jù)配置服務(wù)基于提供高并
zys是基于yaf和swoole的高性能服務(wù)框架
核心特性
1.基于swoole提供分布式服務(wù)器通訊服務(wù) 2.基于thrift提供rpc遠(yuǎn)程調(diào)用服務(wù) 3.基于HTML5提供在線網(wǎng)絡(luò)直播平臺(tái)服務(wù) 4.基于swoole提供同步異步數(shù)據(jù)庫(kù)連接池服務(wù) 5.基于swoole提供異步任務(wù)服務(wù)器投遞任務(wù)服務(wù) 6.基于vmstat提供服務(wù)器硬件實(shí)時(shí)監(jiān)控服務(wù) 7.基于yac、yaconf提供共享數(shù)據(jù)、配置服務(wù) 8.基于zqf提供高并發(fā)計(jì)數(shù)器、紅包、二維碼服務(wù) 9.很好的支持網(wǎng)頁(yè)版console的shell服務(wù)
服務(wù)啟動(dòng)
需要php以cli模式運(yùn)行/server/server.php
php server.php start php server.php stop php server.php restart
composer 安裝
{ "require": { "qieangel2013/zys": "0.1.1" } }
thrift的rpc遠(yuǎn)程調(diào)用
本地訪問(wèn)http://localhost/index/rpc (返回0表示成功)
數(shù)據(jù)庫(kù)連接池使用方法
服務(wù)文件在/server/mysql/DbServer.php 簡(jiǎn)單地封裝文件在/application/library/mysql/dbclient.php 配置在conf/application.ini中 ;數(shù)據(jù)庫(kù)連接池配置 DbServer.async=true //配置是同步執(zhí)行還是異步執(zhí)行,默認(rèn)不配置代表異步執(zhí)行,同步執(zhí)行設(shè)置為false DbServer.multiprocess=false //配置是否啟用多進(jìn)程,默認(rèn)不配置代表單進(jìn)程阻塞模式,多進(jìn)程模式要設(shè)置為true DbServer.pool_num=20 //配置連接池mysql的數(shù)量 DbServer.port=9501 DbServer.logfile="/server/log/DbServer.log" DbServer.localip="192.168.2.13" 使用方法: $dbclient=new mysql_dbclient; //print_r($data); for ($i=0; $i <100 ; $i++) { $dbclient->query("INSERT INTO user(name) VALUES("$i")"); //echo "INSERT INTO user(name) VALUES("$i")"; } $data=$dbclient->query("select * from user"); $dbclient->close(); print_r($data); exit;
swoole實(shí)現(xiàn)簡(jiǎn)單的視頻直播(可以實(shí)時(shí)傳音頻、視頻、聊天)
錄制視頻頁(yè)面 http://localhost/index/swoolelivecamera 接受視頻頁(yè)面 http://localhost/index/swoolelive
vmstat服務(wù)器監(jiān)控
本地訪問(wèn)http://localhost/vmstat/
yac、yaconf提供共享數(shù)據(jù)、配置使用如下
需要安裝php擴(kuò)展yac、yaconf //注意:需要安裝yaconf擴(kuò)展,并且yaconf.directory=/tmp/yaconf 必須在php.ini里設(shè)置,不能動(dòng)態(tài)加載 echo Yaconf::get("conf.zqf"); //注意:需要安裝yac擴(kuò)展,用于存儲(chǔ)共享變量,下面的實(shí)例作為高并發(fā)計(jì)數(shù)器 $yac = new Yac(); $count=$yac->get("zqf"); if(!$count){ $yac->set("zqf", 1); }else{ $yac->set("zqf", $count+0.5); } echo $count;
高并發(fā)計(jì)數(shù)器、紅包、二維碼使用如下
需要安裝php擴(kuò)展zqf 首先安裝php擴(kuò)展zqf.so phpize來(lái)安裝 然后在php文件調(diào)用 dl("zqf.so");或者phpini里加載([https://github.com/qieangel2013/zqf) $obj=new zqf(); $counter= $obj->autoadd(0,1,0);(聲明只針對(duì)多線程) echo $counter; 紅包第一個(gè)參數(shù)是紅包總額,第二個(gè)人參數(shù)紅包數(shù)量,第三個(gè)參數(shù)默認(rèn)代表拼手氣紅包,設(shè)置為1的話為普通紅包 拼手氣紅包 $hongb= $obj->hongbao(10,8);或者$hongb= $obj->hongbao(10,8,0);返回?cái)?shù)組為Array ( [0] => 1.33 [1] => 1.02 [2] => 1.28 [3] => 0.44 [4] => 1.37 [5] => 0.81 [6] => 1.81 [7] => 1.94 ) 普通紅包,每個(gè)人數(shù)額一樣設(shè)置第三個(gè)參數(shù) $hongb= $obj->hongbao(10,8,1);返回?cái)?shù)組為Array ( [0] => 1.25 [1] => 1.25 [2] => 1.25 [3] => 1.25 [4] => 1.25 [5] => 1.25 [6] => 1.25 [7] => 1.25 ) var_dump($hongb); $obj->savefile("https://www.baidu.com/s?wd=昌平香堂","./test.png",500);第一個(gè)參數(shù)是url,第二參數(shù)是保存路徑,第三個(gè)參數(shù)是二維碼長(zhǎng)或者寬 $obj->savefile("https://www.baidu.com/s?wd=昌平香堂","./test.png",500,1);第一個(gè)參數(shù)是url,第二參數(shù)是保存路徑,第三個(gè)參數(shù)是二維碼長(zhǎng)或者寬,第四個(gè)參數(shù)是決定是否透明,默認(rèn)是不透明的
網(wǎng)頁(yè)版console的shell使用如下
本地訪問(wèn)http://localhost/console
交流使用
zys框架交流群:337937322
License
Apache License Version 2.0 see http://www.apache.org/licenses/LICENSE-2.0.html
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/21832.html
摘要:異步隊(duì)列消費(fèi)者開(kāi)發(fā)只提供了模式下運(yùn)行控制器方法,并未提供主進(jìn)程多子進(jìn)程的進(jìn)程模型,并未提供多線程處理。多線程異步隊(duì)列服務(wù)只需寫(xiě)好控制器方法,然后在配置文件中配置下路由命名空間進(jìn)程線程數(shù)量,就可在模式中啟動(dòng)多進(jìn)程多線程模型的異步隊(duì)列處理程序。 最近業(yè)余時(shí)間一直在開(kāi)發(fā)ExpressPHP的第二個(gè)版本 MixPHP,今天下班想起之前一個(gè)面試官的問(wèn)題:你為什么還要再造一個(gè)輪子呢?仔細(xì)回想,第一...
摘要:是將騰訊內(nèi)部使用的微服務(wù)架構(gòu)多年的實(shí)踐成果總結(jié)而成的開(kāi)源項(xiàng)目,目前已于月日正式對(duì)外開(kāi)源。 Tars 是將騰訊內(nèi)部使用的微服務(wù)架構(gòu) TAF(Total Application Framework)多年的實(shí)踐成果總結(jié)而成的開(kāi)源項(xiàng)目,目前已于4月10日正式對(duì)外開(kāi)源。 作為支持多語(yǔ)言的高性能 RPC 開(kāi)發(fā)框架和配套一體化的服務(wù)治理平臺(tái),Tars可以幫助企業(yè)或者用戶以微服務(wù)的方式快速構(gòu)建穩(wěn)定可靠...
摘要:框架最新源代碼行數(shù)行,因此可以很容易的改造它,成為你們公司的專屬框架。也不同于其他基于的微服務(wù)框架,只聚焦于微服務(wù)治理,定位于開(kāi)發(fā)的更多領(lǐng)域,覆蓋從初創(chuàng)到億元級(jí)體量的技術(shù)訴求。的授權(quán)全靠用戶自愿購(gòu)買(mǎi),詳情 MixPHP是什么 MixPHP 是秉承 普及 PHP 常駐內(nèi)存型解決方案,促進(jìn) PHP 往更后端發(fā)展 的理念而創(chuàng)造,采用 Swoole 擴(kuò)展作為底層引擎,圍繞常駐內(nèi)存的方式而設(shè)計(jì),...
摘要:分布式高并發(fā)微服務(wù)問(wèn)阿里京東螞蟻等大廠面試真題解析道跳槽漲薪必備精選面試題最新版大廠面試真題集點(diǎn)擊這里免費(fèi)領(lǐng)取點(diǎn)擊這里免費(fèi)領(lǐng)取 估計(jì)很多Java程序員平時(shí)主要的工作就是一些Web系統(tǒng)的業(yè)務(wù)開(kāi)發(fā),對(duì)于服務(wù)端IO程序以及網(wǎng)絡(luò)通信編程做得并不多,但是對(duì)于高級(jí)或者資深程序員來(lái)說(shuō),IO通信以及服務(wù)端編...
摘要:前言一直以來(lái),因?yàn)闃?biāo)準(zhǔn)應(yīng)用方式是配合或使用,而被認(rèn)為不適合做服務(wù)化后端。下面我就介紹如何用來(lái)搭建一個(gè)高性能的服務(wù)化后端框架,并且實(shí)現(xiàn)一個(gè)客戶端調(diào)用例子。服務(wù)端我使用的框架叫,地址在這里。 前言 一直以來(lái),PHP 因?yàn)闃?biāo)準(zhǔn)應(yīng)用方式是配合 php-fpm 或 apache mod 使用,而被認(rèn)為不適合做服務(wù)化后端。但是隨著 Workerman 和 Swoole 這些常駐進(jìn)程模塊的出現(xiàn),PH...
閱讀 3483·2021-09-22 15:02
閱讀 3530·2021-09-02 15:21
閱讀 2143·2019-08-30 15:55
閱讀 2794·2019-08-30 15:44
閱讀 791·2019-08-29 16:56
閱讀 2423·2019-08-23 18:22
閱讀 3350·2019-08-23 12:20
閱讀 3098·2019-08-23 11:28