如題
我們程序里面仙子阿使用了很多CURL進(jìn)行內(nèi)部程序的接口調(diào)用,這樣的架構(gòu)是否會(huì)影響到服務(wù)器的性能,因?yàn)橐淮蜨TTP請(qǐng)求,會(huì)讓服務(wù)器重新啟動(dòng)PHP的一個(gè)進(jìn)程,在系統(tǒng)里面多次調(diào)用CURL進(jìn)行數(shù)據(jù)的獲取是否是拆分功能模塊的一個(gè)好的選擇???
人生最曼妙的風(fēng)景,竟是內(nèi)心的淡定與從容!
會(huì)的,CURL對(duì)本地的HTTP進(jìn)行請(qǐng)求也是完成了一整個(gè)HTTP過(guò)程,和從外面調(diào)用請(qǐng)求所需的過(guò)程都是一樣的,比如你說(shuō)的需要重啟一個(gè)php進(jìn)程等等都是實(shí)實(shí)在在發(fā)生的。只不過(guò)從本地調(diào)用的話沒(méi)有走你外網(wǎng)的流量而已,這給人的感覺(jué)就是自己抓自己的數(shù)據(jù)。
項(xiàng)目不大、需調(diào)用的的地方也不多的時(shí)候這種方式可以當(dāng)作簡(jiǎn)單的拆分的一種手段,但是調(diào)用頻繁之后首先是成功程序的結(jié)構(gòu)變的混亂以至難以維護(hù),其次是會(huì)增大服務(wù)器自身的開(kāi)銷。服務(wù)和數(shù)據(jù)都是本地的就沒(méi)必要這樣了,如果都是同一種語(yǔ)言的話就將獲取處理數(shù)據(jù)的這部分代碼封裝起來(lái)共同使用,如果不是同一種語(yǔ)言的話看看能否直接從數(shù)據(jù)庫(kù)上面獲取數(shù)據(jù)。
是肯定占用的,內(nèi)網(wǎng)請(qǐng)求只是減少了常規(guī)HTTP請(qǐng)求的幾步操作。我覺(jué)得你這種情況可以考慮采用WebService或者RPC。