我目前正在研究一個大學項目,其中我們正在爲萬維網構建一個內容提取器。爲此,到目前爲止,我們有兩個模塊:一個Web爬行器和一個將在2個獨立機器上運行的索引器。我們計劃在我們的工作進展中添加更多模塊,但現在,我們需要在某種形式的消息傳遞之間進行通信。Java分佈式應用程序 - 消息傳遞
我們不確定什麼,如下:
(一)我們覺得我們的應用程序並不需要同步的消息傳遞。基本上,抓取程序模塊會抓取網頁並在訪問特定頁面時調用Indexer模塊。那麼我們應該繼續並選擇一些異步協議(如JMS),還是使用同步協議有一些優勢? (ii)我們目前正在考慮使用JMS,可能有google協議緩衝區,用於在兩臺機器之間傳遞必要的數據(URL)。這是否合適,還是有更好的選擇?
我們的合適協議的主要標準是可伸縮性,其次是速度。
這是我們第一次在任何類型的分佈式應用程序上工作。因此,任何幫助將是非常讚賞:)
謝謝:)
謝謝你:)索引器模塊目前使用的是mongodb。 Map-Reduce比簡單消息傳遞有什麼優點?目前,我們沒有處理機器羣集,而是每個模塊單個計算機。我認爲如果我們將單個模塊的工作分佈在多臺機器上,稍後需要map-reduce,對嗎? – arya 2012-03-24 07:03:08