2013-05-30 70 views
0

我有一個使用Spring框架以Java編寫的網站。我有10個批處理作業將同時運行,他們的工作是抓取選定的網站,處理它們並將它們索引到SOLR中。 SOLR,客戶端應用程序和數據庫將託管在Amazon AWS主機上。在Web主機和本地計算機上承載批處理作業

我想知道是否在網絡主機(Amazon AWS)上託管依賴於重要帶寬的(下載網頁)批處理作業是一個好主意?或者我應該在我的本地計算機上運行它們,因爲如果它們失敗,監視它們會更容易。

如果我在本地運行作業,我將不得不定期從主機上的客戶端數據庫中複製一個表(URLS_SMITTED),以便批處理作業處理該URL。我還需要與SOLR建立安全的HTTPS連接來更新文檔。

如果我把它放在網絡主機上,那麼我只需要一個數據庫,但是這些作業將很難維護。

從經驗你推薦哪種方法?

回答

1

在AWS上執行此操作。

他們幾乎可以肯定比你擁有更好的網絡連接性,帶寬成本在計劃中可能是微不足道的,你可以獲得將所有東西託管在一起的優勢。

監控雲中的服務器應該很容易(或更容易)。

我對你對網絡上「難以維護」工作的評論很感興趣。隨意添加一些評論,進一步解釋這一點。

+0

哦,由於「難以維護」,我的意思是說,因爲我將在Netbeans的計算機上運行這個工作,所以我可以很容易地對它進行調試。因此在dum問題之前我從未使用過託管服務。 – hajime

+0

啊,我明白你的意思了。這可能超出了這個問題的範圍,但我建議你最好不要在你的實時數據上進行調試。在雲中全部運行它,並將生產數據庫的轉儲複製到本地計算機進行調試。這樣你就不會冒險搞亂你的生產數據。無論如何,我希望我回答你原來的問題。 – ianjs

0

Amazon Elastic MapReduce是您需要執行此任務的內容。通過EMR,您可以將您的「批處理作業」視爲「並行」並在「雲」中執行的「作業」。

+0

毫無疑問,EMR可以用於這樣的任務,但聽起來OP已經實施瞭解決方案,並且可能需要大量的重新設計才能使用EMR。 – ianjs

相關問題