公司托管的服務器, 配置48核心, 128g, 每臺上有拆分的幾十個項目模塊, 模塊之間通過http互調
現(xiàn)有模式是多項目共用1000個php-fpm
查詢好久, 如果使用workman改造, 只能一個項目起一個master, 每個項目設定的work進程不能太多
因為流量不確定 ,日常上下波動3到5倍, 極端可能10倍, 每項目固定的work數(shù), 問題較大, 無法應對隨機突發(fā)流量
可不可以像php-fpm, 多項目共用所有work進程, 應對某些項目的突發(fā)流量
猜測可以在接收到請求后, 清空所有資源,變量等, 初始化一遍, 做到work進程無狀態(tài), 不知道有沒有實現(xiàn)的可能性
注:
初始化的開銷對我們不是很重要, 沒有要求執(zhí)行很快
嘗試workman,是想利用多進程管理, 定時器,socket等, 以及異步處理能力, 以及將來可能有的協(xié)程, 簡化系統(tǒng)設計, 對速度沒過度追求
查看了多種搜索結果
基本都是同系統(tǒng)中的多個子系統(tǒng), 共用環(huán)境 . 由于模塊眾多, 分屬不同團隊, 代碼管理等不太方便, 對我們不太適用
各模塊升級,php版本升級等, 也不可能統(tǒng)一,
所以問下, 有沒有可能將work進程改造成無狀態(tài), 單臺起1000個進程, 供多個項目使用, 應對隨機流量
workerman實現(xiàn)fastcgi協(xié)議?
查到了這個:
http://wtbis.cn/a/1375
我的需求可能更簡單一點, 不需要支持 fastcgi協(xié)議,
只需要 , 每個請求,有一個干凈的work進程處理