1

我被要求创建一个平台来从 Twitter 流 API 下载推文。基本思想是让控制器生成任务,其中包含有关下载内容(关键字)以及如何序列化数据的信息。此任务被发送到远程服务器(相同或不同的网络)以执行任务并定期将推文保存在数据库中。我需要的是这个:

  • 控制器:必须与 Fetcher 建立连接才能向它们发送任务。必须验证所有 fetchers 连接。
  • Fetcher:应该根据任务关键字从 Twitter 流 API 中检索推文。每个提取器只有一个任务。无需手动注册。只需执行它并运行收到的任务。
  • DB:必须定期存储推文的 JSON。由于会有很多 fetcher,我需要一些东西来避免瓶颈。

话虽如此,我正在寻找的是如何实现这一点的好主意。目前我正在使用 SSLSockets 进行验证过程。之后,我关闭套接字并使用 RMI 发布获取器并将注册表存储在服务器(控制器)中。它正在工作......或多或少......但我不确定这样做是否是个好主意。

您对如何实现分布式计算平台有任何想法吗?我应该使用什么?

谢谢你。

4

1 回答 1

1

据我所知,RMI 只能让您执行 fetchers 端已经存在的代码。但听起来您想将代码发送到 Fetcher 以执行。

在这种情况下,我会考虑编写自己的ClassLoader字节码并将类字节码发送到提取器,然后加载并执行。

作为一个协议,我会推荐 HTTP,有一些相对稳定的实现也支持 TLS 和 SSL,它为你消除了很多与 Socket 相关的痛苦。

于 2013-03-05T09:46:12.900 回答