0
Bisuness邏輯飢餓誰參加一個序列過程
我們有以下業務邏輯來完成:
100萬次這樣做:
- 下載索引文件我
- 解壓文件
- 從文件中提取一些信息
- 刪除文件
當前阿卡解決方案
的阿卡的解決方案,我們目前所面對的創造百萬的演員誰是負責一個要下載的文件,一旦他們這樣做,他們創造一個演員照顧2,3,4步驟。
問題
一旦我們運行的過程中,我們遇到了在阿卡高度重視下載者的情況,演員的休息飢餓模式beeing。
我們知道,隨着機器磁盤變滿,因爲下載的演員經常下載,但其他演員沒有機會掃描和刪除文件。
問題
- 有沒有辦法迫使阿卡不捱餓演員下來的演員鏈?
- 有沒有辦法告訴下載演員等待,直到它得到一些通知它可以繼續(例如不超過1000並行的磁盤文件)
感謝。
至於問題2:僅使用1000的演員,這是負責所有步驟 - > 1000個文件的最大磁盤上,沒有任何可能發生的饑荒,因爲一個角色負責的整個步驟鏈。您可以使用一個包含所有文件的隊列進行下載,這樣1000名演員一旦完成了他們的配置,就可以請求一個新文件。 – thwiegan
1000000名演員同時下載1000000個文件是無稽之談。單線程可以更快地完成這項工作。應該將步驟2-4合併到一個作業中,並提交給可用處理程序+ 1的線程池。 –