我目前正在開發的應用程式的功能之一是照片上傳。客戶在前端上傳照片,照片被傳遞到 Rails 支持,然后存盤在 Amazon S3 上。
我注意到將照片上傳到 s3 花費了大量的請求時間。照片一張一張上傳,因此延遲成倍增加。如果我能以某種方式將照片臨時存盤在 RAM 中并提高請求速度,那就太好了。
我曾考慮過使用檔案作為引數來運行 Sidekiq 作業,但根據 sidekiq 檔案,傳遞一個巨大的物件并不是一個好習慣。我怎樣才能在另一個 vay 中解決這個問題?
uj5u.com熱心網友回復:
我認為這個問題是通過使用 API 生成預先簽名的 url 并使用 cognito 在 s3 上上傳影像并獲取影像鏈接。
uj5u.com熱心網友回復:
在機器 A 上運行的 nginx/puma 應該將影像保存為本地檔案。在同一臺機器 A 上運行 Sidekiq 并將檔案名傳遞給主機特定佇列中的作業,以便 Sidekiq 進行處理。這樣你就可以傳遞檔案參考而不必擔心哪臺機器會處理它。
確保 Sidekiq 洗掉該檔案,以免填滿磁盤!
https://www.mikeperham.com/2013/11/13/advanced-sidekiq-host-specific-queues/
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/359525.html
