资讯专栏INFORMATION COLUMN

zys高性能服务框架

oujie / 2426人阅读

摘要:是基于和的高性能服务框架核心特性基于提供分布式服务器通讯服务基于提供远程调用服务基于提供在线网络直播平台服务基于提供同步异步数据库连接池服务基于提供异步任务服务器投递任务服务基于提供服务器硬件实时监控服务基于提供共享数据配置服务基于提供高并

zys是基于yaf和swoole的高性能服务框架
核心特性

1.基于swoole提供分布式服务器通讯服务
2.基于thrift提供rpc远程调用服务
3.基于HTML5提供在线网络直播平台服务
4.基于swoole提供同步异步数据库连接池服务
5.基于swoole提供异步任务服务器投递任务服务
6.基于vmstat提供服务器硬件实时监控服务
7.基于yac、yaconf提供共享数据、配置服务
8.基于zqf提供高并发计数器、红包、二维码服务
9.很好的支持网页版console的shell服务

服务启动

需要php以cli模式运行/server/server.php

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

composer 安装

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

thrift的rpc远程调用

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

数据库连接池使用方法

服务文件在/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实现简单的视频直播(可以实时传音频、视频、聊天)

录制视频页面 http://localhost/index/swoolelivecamera
接受视频页面 http://localhost/index/swoolelive

vmstat服务器监控

本地访问http://localhost/vmstat/

yac、yaconf提供共享数据、配置使用如下

需要安装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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/21832.html

相关文章

  • 我为什么要开发一个 MixPHP 框架

    摘要:异步队列消费者开发只提供了模式下运行控制器方法,并未提供主进程多子进程的进程模型,并未提供多线程处理。多线程异步队列服务只需写好控制器方法,然后在配置文件中配置下路由命名空间进程线程数量,就可在模式中启动多进程多线程模型的异步队列处理程序。 最近业余时间一直在开发ExpressPHP的第二个版本 MixPHP,今天下班想起之前一个面试官的问题:你为什么还要再造一个轮子呢?仔细回想,第一...

    SnaiLiu 评论0 收藏0
  • 腾讯正式对外开源性能 RPC 开发框架与微服务平台Tars

    摘要:是将腾讯内部使用的微服务架构多年的实践成果总结而成的开源项目,目前已于月日正式对外开源。 Tars 是将腾讯内部使用的微服务架构 TAF(Total Application Framework)多年的实践成果总结而成的开源项目,目前已于4月10日正式对外开源。 作为支持多语言的高性能 RPC 开发框架和配套一体化的服务治理平台,Tars可以帮助企业或者用户以微服务的方式快速构建稳定可靠...

    weizx 评论0 收藏0
  • MixPHP:基于 Swoole 的常驻内存型 PHP 框架

    摘要:框架最新源代码行数行,因此可以很容易的改造它,成为你们公司的专属框架。也不同于其他基于的微服务框架,只聚焦于微服务治理,定位于开发的更多领域,覆盖从初创到亿元级体量的技术诉求。的授权全靠用户自愿购买,详情 MixPHP是什么 MixPHP 是秉承 普及 PHP 常驻内存型解决方案,促进 PHP 往更后端发展 的理念而创造,采用 Swoole 扩展作为底层引擎,围绕常驻内存的方式而设计,...

    王晗 评论0 收藏0
  • 牛啤~这个框架被大量使用,腾讯开源的RPC框架阿里的Dubbo全靠它

    摘要:分布式高并发微服务问阿里京东蚂蚁等大厂面试真题解析道跳槽涨薪必备精选面试题最新版大厂面试真题集点击这里免费领取点击这里免费领取 估计很多Java程序员平时主要的工作就是一些Web系统的业务开发,对于服务端IO程序以及网络通信编程做得并不多,但是对于高级或者资深程序员来说,IO通信以及服务端编...

    whidy 评论0 收藏0
  • 手把手教你5分钟用 PHP 搭建一个性能服务化后端框架

    摘要:前言一直以来,因为标准应用方式是配合或使用,而被认为不适合做服务化后端。下面我就介绍如何用来搭建一个高性能的服务化后端框架,并且实现一个客户端调用例子。服务端我使用的框架叫,地址在这里。 前言 一直以来,PHP 因为标准应用方式是配合 php-fpm 或 apache mod 使用,而被认为不适合做服务化后端。但是随着 Workerman 和 Swoole 这些常驻进程模块的出现,PH...

    Charles 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<