beyod PHP Socket 网络应用框架开源项目

我要开发同款
匿名用户2018年12月27日
29阅读
开发技术PHP
所属分类Web应用开发、Web框架
授权协议MIT

作品详情

beyod:一个高性能分布式、事件驱动、异步非阻塞phpsocket网络应用框架

beyod是基于Libevent/epoll/Yii2Framework的高性能分布式、事件驱动、异步非阻塞php实现的socket网络服务开发框架。具备可扩展的网络协议支持架构,可以开发任何TCP/UDP层上的网络应用。可用于物联网、网络游戏、WEB、WebSocket、服务器推送、分布式网络应用服务等领域。

PHP被广泛用于web开发领域,但在socket服务方式较少使用,导致形成了一种错误的观点:PHP只能用于网站。

事实上,PHP通过模块方式可以扩展自身功能,内置的socket支持,完全可以实现一个socket服务器。

借助Libui扩展,也可以实现桌面软件界面的开发。

beyod,是beyond的缩写,意思是另一个,另一边的的意思,所以beyod的目的也是寻求php在另外一个领域的(socket服务器)实践。

==beyod本质是以PHP命令行方式运行实现完整的socket服务器,所以它无须nginx/Apache/php-fpm环境,就可以独立运行。==

beyod吸收并借鉴了Nginx/ReactPHP/Workerman/Swoole/Yii/等流行的技术方案,从而实现快速开发网络应用服务。

特性:

事件驱动、异步非阻塞、多进程单线程架构(Nginx/node.js相同的进程架构)。

纯PHP代码实现,所有代码开源,开发参考易于上手。

高性能,PHP命令行长驻内存方式运行,省去了传统的基于请求的资源分配和释放。另外得益于基于libevent非阻塞网络模型,不必为每个连接分配线程或进程。

支持大量并发连接,理论上,只要内存足够大,连接数是无上限的。测试中,单机10万tcp连接时,消耗内存仅2.4GB。

稳定可靠,可长时间运行,工作进程崩溃自动恢复。使用Master-worker方式的多进程、单线程模型。实现了工作进程异常崩溃后的自动重启,我们熟知的Nginx也使用了Master-worker进程模型,从而实现进程高可用性。

丰富的网络协议支持支持TCP、UDP、Unix、SSL,内置HTTP/WebSocket/AsyncRedis/AsyncTCPClient,并支持自定义数据包解析,从而实现任何应用层协议。

SSL/reuse_port/clusterdispatcher/工作进程平滑重启等特性,单个进程中可实现多端口监听、多个协议支持。

毫秒级定时器。

基于Yii2Console框架开发,Yii2是一个事件驱动高性能主流PHP框架,内置完整的PHP命令行运行支持,内置功能模块丰富,组件化架构使整个系统易于扩展。

丰富的数据库支持和组件化扩展。得益于yii框架的底层支持,支持大量的业务层功能需求,熟悉Yiiweb框架者可以直接上手实现业务层功能。beyod不仅是一个网络底层开发框架,更是一个网络应用开发框架,可快速实现业务功能。

易于扩展,beyod使用composer/psr标准结构,可以很容易使用第三方PHP框架实现业务功能。

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论