gpt4 book ai didi

Java分布式应用程序-消息传递

转载 作者:行者123 更新时间:2023-12-01 15:28:40 25 4
gpt4 key购买 nike

我目前正在开展一个大学项目,其中我们正在为万维网构建一个内容提取器。为此,到目前为止我们有 2 个模块:一个网络爬虫和一个将在两台单独的机器上运行的索引器。我们计划随着工作的进展添加更多模块,但现在,我们需要两者之间的某种通信方式,即某种形式的消息传递。

我们不确定的是:

(i) 我们认为我们的应用程序不需要同步消息传递。基本上,爬虫模块抓取网页并在访问特定页面时调用索引器模块。那么我们应该继续选择一些异步协议(protocol)(如 JMS)还是使用同步协议(protocol)有一些优势?

(ii) 我们目前正在考虑使用 JMS,也许可以使用 google Protocol Buffer 在两台机器之间传递必要的数据(URL)。这是否合适,或者有更好的选择吗?

我们对合适协议(protocol)的主要标准是可扩展性,其次是速度。

这是我们第一次开发任何类型的分布式应用程序。因此,我们将不胜感激任何帮助:)

谢谢:)

最佳答案

几年前,我曾在一个类似的系统上工作过,其中网络爬虫正在寻找恶意软件网站以将其添加到黑名单网站列表中(这是一家安全公司)。

我们的爬虫独立于 worker 工作。这实现了更好的可扩展性和性能。

爬虫将数据放入数据库中。然后,作业将定期启动并获取未处理的记录(我认为我们有一个状态列),然后传递给工作线程进行并行处理。

如果我今天要做这件事,我会使用像 mongodb 这样的 nosql 数据库和一些映射缩减算法。

希望这有用。

拉克什

关于Java分布式应用程序-消息传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9849695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com