zys高性能服務框架

zys是基於yaf和swoole的高性能服務框架
核心特性php

1.基於swoole提供分佈式服務器通信服務
2.基於thrift提供rpc遠程調用服務
3.基於HTML5提供在線網絡直播平臺服務
4.基於swoole提供同步異步數據庫鏈接池服務
5.基於swoole提供異步任務服務器投遞任務服務
6.基於vmstat提供服務器硬件實時監控服務
7.基於yac、yaconf提供共享數據、配置服務
8.基於zqf提供高併發計數器、紅包、二維碼服務
9.很好的支持網頁版console的shell服務

服務啓動html

須要php以cli模式運行/server/server.phpmysql

php server.php start
    php server.php stop
    php server.php restart

composer 安裝git

{
        "require": {
            "qieangel2013/zys": "0.1.1"
     }
}

thrift的rpc遠程調用github

本地訪問http://localhost/index/rpc (返回0表示成功)

數據庫鏈接池使用方法sql

服務文件在/server/mysql/DbServer.php
簡單地封裝文件在/application/library/mysql/dbclient.php
配置在conf/application.ini中
;數據庫鏈接池配置
DbServer.async=true   //配置是同步執行仍是異步執行,默認不配置表明異步執行,同步執行設置爲false
DbServer.multiprocess=false //配置是否啓用多進程,默認不配置表明單進程阻塞模式,多進程模式要設置爲true
DbServer.pool_num=20  //配置鏈接池mysql的數量
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實現簡單的視頻直播(能夠實時傳音頻、視頻、聊天)shell

錄製視頻頁面 http://localhost/index/swoolelivecamera
接受視頻頁面 http://localhost/index/swoolelive

vmstat服務器監控數據庫

本地訪問http://localhost/vmstat/

yac、yaconf提供共享數據、配置使用以下apache

須要安裝php擴展yac、yaconf
//注意:須要安裝yaconf擴展,而且yaconf.directory=/tmp/yaconf 必須在php.ini裏設置,不能動態加載
    echo Yaconf::get("conf.zqf");
    //注意:須要安裝yac擴展,用於存儲共享變量,下面的實例做爲高併發計數器
    $yac = new Yac();
    $count=$yac->get('zqf');
    if(!$count){
        $yac->set('zqf', 1);
    }else{
        $yac->set('zqf', $count+0.5);
    }
    echo $count;

高併發計數器、紅包、二維碼使用以下數組

須要安裝php擴展zqf
首先安裝php擴展zqf.so
phpize來安裝
而後在php文件調用
dl('zqf.so');或者phpini里加載([https://github.com/qieangel2013/zqf)
$obj=new zqf();
$counter= $obj->autoadd(0,1,0);(聲明只針對多線程)
echo $counter;
紅包第一個參數是紅包總額,第二我的參數紅包數量,第三個參數默認表明拼手氣紅包,設置爲1的話爲普通紅包
拼手氣紅包
$hongb= $obj->hongbao(10,8);或者$hongb= $obj->hongbao(10,8,0);返回數組爲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 )
普通紅包,每一個人數額同樣設置第三個參數
$hongb= $obj->hongbao(10,8,1);返回數組爲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);第一個參數是url,第二參數是保存路徑,第三個參數是二維碼長或者寬
$obj->savefile('https://www.baidu.com/s?wd=昌平香堂','./test.png',500,1);第一個參數是url,第二參數是保存路徑,第三個參數是二維碼長或者寬,第四個參數是決定是否透明,默認是不透明的

網頁版console的shell使用以下

本地訪問http://localhost/console

交流使用

zys框架交流羣:337937322

License

Apache License Version 2.0 see http://www.apache.org/licenses/LICENSE-2.0.html
相關文章
相關標籤/搜索