2015-06-13 18 views
0

我有一個場景,我想查詢組織的員工信息,使用第三方休息apis。這將爲不同的組織完成,我們將在那裏獲得員工名單,我期望每個組織有大約500到5萬名用戶。創建線程vs流程以獲得更好的維護 - 設計方法

我在poc階段,在那裏我想決定處理這個問題的最佳方法。一種選擇是創建一個單獨的java進程,併爲每個用戶生成單個線程。另一個是爲每個用戶創建一個進程,在這裏我們編寫一些shell腳本來提供每個員工的詳細信息。

我的問題是哪個會是更好的解決方案,形式維護的觀點。這可能會發生,有些用戶可能會遇到問題,因爲依賴於第三方API。從調試點來看,從支持點來看,這可能是更好的方法。這可能是一個非常開放的問題。我想知道,如果有人遇到過任何情況,他們的方法是什麼。

+0

您預計500-50k用戶,並且您希望每個用戶都有一個單獨的線程或進程?那有什麼可能的好處? – dimo414

回答

1

如果您有多個需要同時運行的任務,請使用Thread Pools。一個線程池擁有多個線程,並且是交付需要完成的工作單元。池然後將每個工作單元傳遞給第一個空閒線程,爲您管理實際執行。

確切地說你的池應該包含多少個線程取決於你的確切需求,但假設你將頻繁地輪詢這些API,每個API的線程可能是合理的。

根據您所描述的內容,不需要單獨的流程。