WorkerMan免费开源PHP服务器框架
中国
好玩推荐

WorkerMan免费开源PHP服务器框架

Workerman 网站是一个高性能的PHP socket 服务器框架,workerman基于PHP多进程以及libevent事件轮询库,PHP开发者只要实现一两个接口,便可以开发出自己的网络应用,例如Rpc服务、...

标签:
爱站权重:PC 百度权重移动 百度移动权重

WorkerMan免费开源PHP服务器框架简介:

  Workerman网站是一个高性能的PHPsocket服务器框架。基于PHP多流程和libevent事件轮询库,PHP开发者可以开发自己的网络应用,如RPC服务、聊天室服务器、手机游戏服务器等。

  workerman的目标是让PHP开发者更容易开发基于socket的高性能应用服务,而不需要了解PHPsocket和PHP多流程细节。workerman本身就是一个PHP多流程服务器框架,具有PHP流程管理和socket通信模块,不依赖PHP-fpm、nginx或apache。

  workerman有许多不寻常的特点,使PHP开发者能够开发出不寻常的应用程序:

  1.纯PHP开发:workerman完全使用PHP开发,workerman开发的应用不依赖PHP-fpm、apache和nginx。这使得PHP开发者开发、部署和调试应用非常方便。

  2.支持PHP多流程:为了充分发挥服务器多CPU的性能,workerman默认支持多流程多任务。workerman为外部提供主流程和多个子流程服务。主流程负责监控子流程退出信号,生成新的子流程处理服务。这不仅提高了应用程序的性能,而且使workerman更加稳定。

  3.支持TCP、UDP:workerman支持TCP和UDP两种传输层协议。传输层协议可以在不改变业务代码的情况下更改,只需更改配置的一个字段。

  4.支持长连接:很多时候,PHP应用程序需要与客户端保持长连接,如聊天室、游戏等,但传统的PHP容器(apache、nginx、php-fpm)很难做到这一点。使用workerman可以轻松使用PHP长连接。php的单个过程可以支持数千甚至数万的并发连接,而多个过程可以支持数十万甚至数百万的并发连接。

  5.支持各种应用层协议协议:接口支持各种应用程序层协议,包括自定义协议。默认情况下,Workerman支持HTTP、Websocket和简单的Text文本协议。同时,Workerman提供了一个通用的协议接口,开发人员可以根据此接口轻松开发自己的协议。

  6.支持高并发性:workerman支持Libevent事件轮询库(Libevent扩展需要安装),Libevent在高并发性能上非常出色。如果不安装Libevent,则使用PHP内置的Select相关系统进行调用。

  7.支持服务平稳重启:当需要重启服务(如发布版本)时,我们不希望处理用户请求的过程立即终止,更不用说在重启时没有足够的过程提供外部服务了。为了确保在任何时候都有足够的外部服务流程,您可以使用平稳重启命令,在平稳重启过程中,workerman将在处理请求后退出子过程,并确保在任何时候都有足够的外部服务流程。

  8.支持文件更新、检测和自动加载:在workerman开发应用程序的过程中,我们希望在更改代码后立即生效,只要您打开配置中的debug功能。打开后,workerman将有一个单独的过程轮询(因为PHP不能在Mac系统中使用Linux内核提供的Inotify机制,因此必须轮询)所有应用程序实际使用的PHP文件。当文件更新时,启动平稳重启,并自动加载新的PHP文件。

  9.支持指定用户运行子流程:因为子流程是处理用户请求的实际流程,为了安全起见,子流程不能有太高的权限,所以workerman支持设置子流程的用户。

  10.自带监控:workerman内部有监控统计模块,可以统计workerman本身的一些数据,如进程退出次数和退出状态,每个进程占用内存大小和监控IP端口,每个进程的启动时间,流程运行的服务名称,每个流程处理请求数、连接数、数据包发送失败等。这些信息可以在当地运行。

  11.支持毫秒级定时器支持毫秒定时器,可做定时任务或定时计算,如游戏中地图上的AI相关计算。

  12.支持异步IO:Workerman自带的网络IO接口是异步的,开发者可以根据事件实现异步编程。

  13.永久保持支持对象或资源:静态成员或全球变量在过程生命周期中永久保持不主动销毁,即只要静态成员或全球变量初始化,整个过程生命周期的所有请求都可以重用静态成员或全球变量。例如,只要数据库连接在一个过程中初始化,该过程的所有以重用数据库连接,无需每个用户要求重新连接数据库,避免TCP三次握手、数据库权限验证、TCP四次握手过程中断开连接,大大提高了应用程序的效率。memcache、redis等初始化也是如此。

  14.高性能:由于php文件从磁盘读取和分析一次后会停留在内存中,下次直接使用内存中的opcode,大大降低了磁盘IO和php中请求的初始化,创建了执行环境、词法分析、语法分析、编译opcode、请求关闭等诸多耗时过程,不依赖nginx、apache等容器,没有nginx等容器和php通信的网络开支,最重要的是资源可以永久保持,不需要每次初始化数据库连接等。,所以使用workerman开发应用程序性能非常高。

  15.很多应用:workerman有很多应用,比如Thrift-RPC、Json-RPC、聊天室、统计监控服务、本站web程序等。目前,workerman已被多家公司使用,包括开发日营业额超过1亿的电子商务公司用户订单系统,开发大型游戏公司用于游戏背景。

  16.支持分布式部署:WorkerMan支持分布式部署,可以在不影响服务质量的情况下平稳动态添加和减少服务器。因此,WorkerMan集群可以支持相当大的吞吐量或并发TCP连接。

  17.支持HHVM:支持HHVM,大大提升PHP性能(一般在50%左右甚至更高),尤其是在CPU密集运算中。实际压力测试确实有明显的性能提升效果。

  18.支持心跳检测:Gateway/Worker开发模型支持服务端心跳检测,可定期向客户端发送应用层心跳,及时检测客户端极端脱线(断电、突发网络故障等)。

网址入口:http://www.workerman.net/

相关导航