workerman
workerman是一个高性能的PHP socket 服务器框架,workerman基于PHP多进程以及libevent事件轮询库,PHP开发者只要实现一两个接口,即可以开发出本身的网络应用,例如Rpc服务、聊天室服务器、手机游戏服务器等。workerman的目标是让PHP开发者更容易的开发出基于socket的高性能的应用服务,而不用去了解PHP socket以及PHP多进程细节。 workerman自己是一个PHP多进程服务器框架,具备PHP进程管理以及socket通讯的模块,因此不依赖php-fpm、nginx或者apache等这些容器即可以独立运行其中 workerman有两种进程模型 一、基本的master worker模型 二、master gateway worker模型master worker模型工做流程及进程间关系以下:
php
master worker模型说明:master进程为主进程,启动过程当中读取conf配置,根据每一个应用配置中的ip和端口建立监听socket,而后再根据配置中的进程数建立对应数量的子进程即worker进程,worker进程会自动继承master进程建立的监听socket,使得worker进程可以独立的接受并处理客户端的链接。然后master进程进入监听信号的逻辑中,监听worker进程退出信号(worker进程退出后,系统会自动向master进程发送一个SIGHCLD信号,mater进程会从新建立子进程,将缺失的子进程补上),master进程还会监听workermand脚本发来的中止信号(SIGINT)和平滑重启服务信号(SIGHUP)worker进程为master进程派生出来的子进程,自动继承了master进程的监听socket,每一个worker进程独立的接受并处理客户端的链接。master worker模型比较适合业务简单的应用或者短链接应用master gateway worker模型工做流程和进程间关系以下:
nginx
master gateway worker 模型说明:这种模型多了一个gateway进程组,工做流程与master worker模型基本相同,区别是worker进程再也不直接与客户端打交道,客户端与worker进程之间多了一个gateway进程,gateway专职处理网络IO,并维护客户端的长链接。master gateway worker 模型很是适合长链接应用,你是否有这样的烦恼,想学习高级技术,网上缺少好的高级学习资料,收集了部分网站架构师授课的TP五、laravel、swoole、swoft、高并发、分布式等资料,如今免费分享给你们,大牛带你飞
master gateway worker 模型很是适合长链接应用
laravel