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