2014-11-05 96 views
4

在这些幻灯片中:http://www.slideshare.net/jboner/introducing-akka我读过Akka支持热部署。我理解这个术语的方式是,我可以在不重新启动应用程序并丢失其当前状态的情况下更改代码。热门部署在akka

这正是我可能需要我的scala/akka应用程序。但是,我如何实际进行热门部署?我应该使用哪些工具和技术?

回答

4

你不清楚你想维护什么状态?演员的邮箱?远程配置?在正常情况下,所有这些都是不重要的理由,不会提及热交换。

如果您正在考虑沿着OSGI热部署的方向发展,那么一般来说不会。尽管你有几个选择。

您可以在运行时使用各种方法更改演员行为,最简单的方法就是成为/不成方形。这有时候是热交换的意思。

一种通用的方法可能是将新代码部署到新节点加入群集,然后关闭以前的节点。

+0

我的一些演员有内部可变状态(一个可变列表),并且演员树本身并不固定,并且会随着时间自动改变。我希望能够在保留演员及其内部状态的同时向演员添加或编辑方法。我知道我可以在Scala IDE中通过编辑代码并在应用程序以调试模式运行时保存它。在生产服务器上真的没有办法做同样的事情吗? – Anton 2014-11-06 07:30:21

+0

我已经开始研究OSGI术语,并发现Eclipse构建于其之上,还有其他开源实现可用。这个OSGI能让我在Scala IDE中编辑演员吗?换句话说,这是解决方案吗? – Anton 2014-11-06 08:10:52

+0

是的,您必须查看支持该功能的应用程序服务器,但它通常不由Akka提供。我不确定我是否听说过任何人以可热部署的方式运行Akka,因此您可能会进入新的领域。 – bearrito 2014-11-06 14:46:12