我有一个使用 Spring 框架用 Java 编写的网站。我有 10 个批处理作业,它们将同时运行,它们的作业是抓取选定的网站,对其进行处理并在 SOLR 中对它们进行索引。 SOLR、客户端应用程序和数据库将托管在 Amazon AWS 主机上。
我想知道在网络主机(Amazon AWS)上托管依赖大量带宽(下载网页)的批处理作业是否是个好主意?或者我应该在本地计算机上运行它们,因为如果它们失败,监控它们会更容易。
如果我在本地运行作业,我将必须定期从主机上的客户端数据库复制一个表 (URLS_SUBMITTED),以便批处理作业处理 URL。我还需要与 SOLR 建立安全的 HTTPS 连接来更新文档。
如果我将其托管在网络主机上,那么我只需要一个数据库,但这些作业将更难维护。
根据经验,您推荐哪种方法?
最佳答案
在 AWS 上进行。
他们几乎肯定拥有比您更好的网络连接,带宽成本在方案中可能微不足道,并且您可以获得将所有内容托管和管理在一个地方的优势。
监控云中的服务器应该同样容易(或更容易)。
我对您关于网络上的工作“更难维护”的评论很感兴趣。请随意添加一些评论来进一步解释这一点。
关于java - 在网络主机上托管批处理作业与本地计算机上托管批处理作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16845839/