java - Java分布式计算平台

标签 java sockets rmi distributed grid-computing

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

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

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

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

谢谢。

最佳答案

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

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

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

关于java - Java分布式计算平台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15220112/

相关文章:

Linux:在只写 TCP 套接字上检测 CLOSE_WAIT

java - 创建模拟库

java - 我正在学习 selenium 框架,同时使用测试和 pagefactory 创建框架,我收到以下错误

node.js - NodeJS-错误 : write EPIPE on SOCKS5 proxy

ubuntu - 在 ubuntu 笔记本电脑上启动 RMI 服务器

java - 如何更改 RMI 监听积压大小?

java - 小程序-服务器通信,我该怎么做?

java - 在java中,我想要两个矩形,一个在另一个后面来模拟生命条,它们不起作用

java - 为什么 DocumentBuilder Parse 在 Eclipse 中可以正常工作,但在 IntelliJ IDEA 中却不行?

silverlight - Silverlight 访问策略的访问频率是多少?