0

我的应用程序需要与大量客户端(它们是安装在用户机器上的 java 代理)进行双向持续通信,此外它还包括一个 spring mvc webapp,它提供了一个标准的 jsp UI 来管理这些代理。我只看了 java akka 的基础知识(没有时间为这个项目学习 scala)。但处理大量客户代理似乎是一个不错的选择。我查看了 akka spring 集成模块和 akka-spring-java 示例,在 spring 端使用 akka 似乎非常简单。

我认为在客户端代理端使用akka远程处理也可能是一个好主意,可能嵌入在另一个应用程序中的代理基本上运行一个线程需要监视用户jvm中的各种进程并与服务器上的服务进行通信。使用位置透明度将在概念上简化架构,并且可能更有效。

本文表明这可能不是正确的方法

点对点与客户端-服务器

使用远程处理的替代方法是使用似乎与 akka spring 集成模块相关联的骆驼 websockets。

鉴于它的技术堆栈,在我的应用程序的上下文中采取的最佳方向是什么?

4

1 回答 1

0

您可能不想在服务器-客户端情况下使用远程处理。远程处理赋予双方相同的权利和特权。它是为集群和点对点设计的。

看看Akka I/O。它为您提供了双方的异步参与者,但更适合服务器-客户端用例。您不必担心线程和进程。

还要记住,即使将 Akka 与 Java 一起使用,您也需要 Scala 库作为依赖项。

于 2014-11-18T12:34:42.660 回答