我目前正在研究一个大学项目,其中我们正在为万维网构建一个内容提取器。为此,到目前为止,我们有两个模块:一个Web爬行器和一个将在2个独立机器上运行的索引器。我们计划在我们的工作进展中添加更多模块,但现在,我们需要在某种形式的消息传递之间进行通信。Java分布式应用程序 - 消息传递
我们不确定什么,如下:
(一)我们觉得我们的应用程序并不需要同步的消息传递。基本上,抓取程序模块会抓取网页并在访问特定页面时调用Indexer模块。那么我们应该继续并选择一些异步协议(如JMS),还是使用同步协议有一些优势? (ii)我们目前正在考虑使用JMS,可能有google协议缓冲区,用于在两台机器之间传递必要的数据(URL)。这是否合适,还是有更好的选择?
我们的合适协议的主要标准是可伸缩性,其次是速度。
这是我们第一次在任何类型的分布式应用程序上工作。因此,任何帮助将是非常赞赏:)
谢谢:)
谢谢你:)索引器模块目前使用的是mongodb。 Map-Reduce比简单消息传递有什么优点?目前,我们没有处理机器群集,而是每个模块单个计算机。我认为如果我们将单个模块的工作分布在多台机器上,稍后需要map-reduce,对吗? – arya 2012-03-24 07:03:08