因此,我在node.js中編寫了一個web應用程序,用戶可以上傳照片,並且可以在每張照片上指定一些訪問控制設置(公共,私人,朋友) 。使用node.js控制對靜態內容的訪問
然後我檢查每個請求上的用戶會話密鑰以確保他們有權訪問。如果他們這樣做,我通過使用fs打開它並將它傳遞給響應對象來向它們發送文件。
但是,當我使用apachebench進行基準測試時,我每秒獲得約1500個請求。如果我刪除所有數據庫的東西,它不會更快。相比之下,Nginx在同一張照片上每秒處理17000個請求。
顯然,如果我的服務起飛,這個數量級的差異將會是一個巨大的成本問題。
有沒有更好的方法來控制訪問,同時保持類似靜態的性能,除了使它們全部公開?
編輯:實際上,文件將在S3上託管,而不是在文件系統中。因此,節點將不再是一個靜態文件服務器,而更像是一個http代理,我認爲它會好得多。
謝謝。我將評估這個選項與代理對s3的請求(從而避免來自重定向的延遲,我懷疑這是不可接受的)。其他選項總是歡迎! – jschall