【发布时间】:2011-08-07 00:51:33
【问题描述】:
在我的 Web 应用程序中,我有一部分需要不断地抓取 Web、处理这些数据并将其呈现给用户。因此,我想知道将其拆分为两个独立的应用程序是否是一种好方法,其中一个将进行爬取、数据处理并将数据存储在数据库中。另一个应用程序将是一个 Web 应用程序(安装在某个 Web 服务器上),它将向用户呈现来自数据库的数据并允许他与数据进行某种交互。
我认为我需要这种拆分的原因是因为如果我对我的网络应用程序进行某些更改(例如添加新功能、更改界面等),我不希望抓取被中断。
我的应用程序堆栈是 Tapestry(Web 层)、Spring、Hibernate(通过 MySQL)和我自己的独立于其他爬虫的实现。
只使用同一个数据库就可以完成集成吗?这可能会导致同时从两个应用程序访问数据库时出现问题。或者可以在 Hibernate 级别上完成集成,以便两个应用程序可以使用相同的 Hibernate 会话?但是一个 JVM 实例中的应用可以访问另一个 JVM 实例中的对象吗?
如果您对此事提出任何建议,我将不胜感激。
更新
用户(来自网络应用程序的界面)将输入 URL 以供爬虫解析。爬虫应用程序只会读取带有 Web 应用程序填充的 URL 的表格。反之亦然,爬虫处理的数据只会呈现在用户界面上。所以,我认为我不应该关心任何类型的锁定,对吧?
谢谢, 尼古拉
【问题讨论】:
标签: java hibernate integration