我们目前正在开发一个应用程序,使用户能够注册一个或多个电子邮件帐户,以便他的电子邮件可以自动分类。前端是使用Ruby实现的,而后端(电子邮件分类器)是用java编写的,并使用WEKA API。问题是我们如何以可伸缩的方式集成前端(用Ruby编写的Web界面)和后端(用java编写的电子邮件分类器)(同时处理大量用户)。
发布于 2012-05-06 06:24:44
我不确定什么是电子邮件分类器。但在任何类似的问题中,我推荐的最佳解决方案是为您的RESTful服务创建一个java API。使用正确的工具可以非常优雅地完成这项工作。API应该通过HTTP返回JSON。使用像Jackson这样的序列化到JSON的库。
在ruby方面,您可以轻松地解析JSON和反序列化。
这是一个可伸缩性很强的解决方案,因为HTTP调用是无状态的,而且已经可以伸缩了。线程被使用并被丢弃。如果您需要更多的电源,那么只需添加更多的机器。
Rails应用程序还可以开始缓存一些调用。但这还为时过早。
如果没有逻辑,只有一个公共数据库,那么就在两个应用程序之间共享该公共数据库。但听起来Java应用程序需要做一些工作。这是API的常用方法。它也不局限于Ruby。您可以为AJAX或任何其他能够理解JSON的客户端创建JSONP服务。
发布于 2012-08-23 17:07:30
如果您想要一个新的电子邮件警报,只需反转您正在公开的RESTful应用程序接口。不是将Java应用程序公开为Rails应用程序接口,而是公开RESTful应用程序API。例如/user/ID/newmail。
Java应用程序会在收到新电子邮件时调用Rails应用程序。
顺便说一句:
您是如何在Java中实现一个可伸缩的系统来检查数千个电子邮件帐户的?
发布于 2012-09-28 02:51:51
随着用于训练分类器的数据量的增长,您可能会发现您可能希望使用集成算法(其中一组n个节点形成集成),并在n个节点中的每个节点上分割训练数据。
要对新的数据点进行分类,您可以使用投票系统,其中n个节点中的每个节点都可以“投票”新的数据点应该被归类为什么。得票率最高的分类胜出。
https://stackoverflow.com/questions/10466360
复制相似问题