1
我有工作,我打算通過REDIS Pub/Sub發送給工人。作業涉及處理圖像(JPEG,20KB-800KB,通常大約150KB)。REDIS Pub/Sub適用於中等大小的二進制數據嗎?
直接發送圖像作爲消息的有效載荷是一個好主意嗎?
我有工作,我打算通過REDIS Pub/Sub發送給工人。作業涉及處理圖像(JPEG,20KB-800KB,通常大約150KB)。REDIS Pub/Sub適用於中等大小的二進制數據嗎?
直接發送圖像作爲消息的有效載荷是一個好主意嗎?
我不認爲這是一個問題。如果你確信你的用戶/工作人員能夠跟上,你不會冒用完RAM的風險,那麼我認爲這是一種有效的方法。我不知道它是否比建議的nginx流更好,但作爲內存數據存儲Redis應該可以擴展到硬件和網絡極限。
請記住,redis pub/sub不是「持久」的,所以如果圖像發佈到頻道,目前沒有人訂閱它,它將不會被拾取。這個形象只會走向無處。
如果您需要耐久性,您可以使用redis List輕鬆構建一個持久隊列。
我不會這樣做。這大大增加了redis上的負載,有更好的工具來傳輸圖像。您甚至可以將圖像存儲在文件系統中,並讓nginx將其傳輸給工作人員。表現應該是可比的。 –
@SergioTulentsev:這實際上是我正在考慮的替代方案,但我不確定是否有必要。它會給我的系統增加複雜性和額外的失敗點。 – vartec
當然,它會增加一個額外的組件和一個額外的失敗點(這是一個相當積極的事實,SPOF很糟糕,可以嗎?:))。 Nginx文件流是非常可擴展的。但是,如果僅使用redis,那麼在redis實例在負載下開始崩潰的情況下,您的操作是什麼? –