2010-01-02 67 views
0

我目前正在開發一個API,我決定的一件事就是有一個gateway.cfm頁面,客戶端用一個sig來發送請求給驗證等,網關處理請求並通過調用返回結果所需的組件。API開發,一個網關頁面?

例如gateway.cfm?component = getBooks & sig = 232345343將調用getbooks組件並返回JSON。

忽略任何安全問題,這個api會受到影響和性能,因爲所有的請求都去一個頁面?或者,這對web服務器而言無論是否所有請求都轉到相同的頁面。

此外,這也將由SSL保護。

+0

@skaffman:使用.cfm意味着冷聚變,對於不同的實現,這個問題的答案可能會非常不同。 – bmargulies 2010-01-02 22:46:00

回答

0

如果所有請求都轉到一個頁面或不同的頁面,那麼服務器無關緊要。至少,不適用於常見的Web服務器(例如Apache/IIS)。

Web服務器有一個線程池,每個請求獲取一個線程分配,每個線程執行其工作並完成。 但是,有一個細節。在較低級別上,處理請求的線程全部讀取相同的二進制/文本(不知道cfm是編譯/解釋的),因此在很短的時間內文件可能被鎖定以供讀取。如果請求數量巨大,這可能會導致懲罰。你只能通過基準測試和測試發現這是否是性能瓶頸。

但是我認爲,執行SSL握手會在閱讀鎖定時更早地殺死性能。

+0

那麼在Coldfusion中有一個設置可以在出現問題前增加最大頁面請求。至於SSL握手,我只想在需要發送信用卡詳情/用戶註冊時訪問https。 – 2010-01-03 01:59:38