如何使用控制台应用程序与Akka始终运行的应用程序进行通信?

时间:2014-10-06 20:26:35

标签: scala akka

我一直在阅读Akka文档,但我无法弄清楚要做什么才能完成我的想法。

我想创建一个小型的Akka应用程序(App A),该应用程序应该始终运行"。此应用程序不是要部署在云架构上,而是部署在一台机器上。

我还想添加一些"人工互动"这个应用程序的功能,所以我正在考虑创建一个控制台应用程序(应用程序B),以使某人能够向应用程序A中的主要演员发送消息,包括例如"关闭" (而不是在Ctrl C上)或"现在强制执行任务X"。

两个应用程序都将在同一台机器上运行,我想连接该机器上的终端并启动控制台应用程序。

所以我到目前为止所得到的是:

1)我应该在应用A上使用远程演员,以便从应用B中看到它吗?

2)在两个应用程序之间或在此特定方案(控制台 - >应用程序)中使用Actor消息进行通信是否可行且良好实践还有其他可取的方法吗?注意我不需要这种通信的安全标准。

3)如果我可以向本地演员发送演员消息,则为远程演员描述路由系统" schema:// domain:port / path"对本地演员也有效吗?

最后,作为一般准则,请考虑我想保持简单......

1 个答案:

答案 0 :(得分:1)

1)为什么不呢。您也可以考虑使用Spray,它将通过http访问您。甚至可以使用Typesafe控制台 - http://resources.typesafe.com/docs/console/manual/getting-started.html

2)没关系。您唯一应该记住的是Akka Remote没有保证交付。如果你没有连接问题 - 应该没问题。

3)是的,但进程将连接到自己的端口。