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