【发布时间】:2018-10-25 18:09:48
【问题描述】:
我创建了一个应用程序,该应用程序具有一起工作的 Web 服务器和 ssh 服务器。目前 SSH 服务器是在 Play 中运行的 Singleton。所以它是一个在后台运行 SSH 服务器的播放应用程序。
我希望 ssh 服务器不 100% 依赖于 Web 部件。如果它们可以在单独的服务器上运行以使其更容易扩展,那也很好。
由于我使用的是 Play(基于 Akka 构建),我认为 Actors 是一个不错的解决方案。但是这应该如何实现呢?
Web 和非 Web 部件都需要一些相同的类,例如:它们都需要有可以在两个应用程序之间发送的 User 类。这些必须通过演员发送。但是 web 和非 web 部件是不同的东西。
是否可以将 2 个项目构建为具有不同入口点的 1 个项目?这样我仍然可以使用相同的类,并且它们会在通过 actor 发送时正确序列化,因为它们完全相同。还是有不同/更好的方法?
我在 Play 文档https://www.playframework.com/documentation/2.6.x/SBTSubProjects 中找到了此页面。但它是“先玩”,我希望两个应用程序能够单独运行。
【问题讨论】:
标签: scala playframework akka scalability actor