workerman怎么样

这篇文章主要介绍workerman怎么样,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

Workerman是一款纯PHP开发的开源高性能的PHP socket 服务框架。

实际上Workerman类似一个PHP版本的nginx,核心也是多进程+Epoll+非阻塞IO。Workerman每个进程能维持上万并发连接。由于本身常住内存,不依赖Apache、nginx、php-fpm这些容器,拥有超高的性能。      

同时支持TCP、UDP、UNIXSOCKET,支持长连接,支持Websocket、HTTP、WSS、HTTPS等通讯协以及各种自定义协议。拥有定时器、异步socket客户端、异步Mysql、异步Redis、异步Http、异步消息队列等众多高性能组件。

1、纯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长连接。WorkerMan单个进程可以支持上万的并发连接,多进程则支持数十万的甚至百万并发连接。

5、支持各种应用层协议

WorkerMan接口上支持各种应用层协议,包括自定义协议。在WorkerMan中更换协议同样非常简单,同样只是配置一个字段,协议自动切换,业务代码零改动,甚至可以开启多个不同协议的端口,满足不同的客户端需求。

6、支持高并发

WorkerMan支持Libevent事件轮询库(需要安装Libevent扩展), 使用Libevent在高并发时性能非常卓越,如果没有安装Libevent则使用PHP内置的Select相关系统调用,性能也同样非常强悍。

以上是“workerman怎么样”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!