【发布时间】:2016-11-25 04:08:08
【问题描述】:
我们最终会得到几十个这样的微服务(大多数是基于 Akka 的),我不确定如何最好地管理它们的部署。具体来说,它们被构建为彼此独立,并且尽可能专业化和分布式。
我的问题源于它们对于各自的 JVM 来说都太小了;即使我们将它们托管在 AWS nano 实例上,如果考虑到冗余,我们最终仍将拥有大约 40 台机器,而且根本不需要这么多的机器。三个中型实例可以(并且确实)轻松处理整个工作负载。
目前,我只是将它们分组到“容器”应用程序中,有点随机,然后在更大的 JVM 上运行这些容器应用程序。
但是,必须有更好的方法。我不知道有任何 Akka 应用服务器可以在其中“部署 Actor”,因此我想了解其他人如何在生产环境中运行 Akka 微服务(特别是如何管理部署)。
这可能不仅限于 Scala 和 Akka,但大多数其他平台都有专门的应用服务器来部署这些东西。
【问题讨论】:
-
看看 Akka 集群和路由。路由器可以根据配置部署许多路由,并且集群会提供一堆节点供您的路由器运行。这里描述了很多选项:doc.akka.io/docs/akka/current/scala/cluster-usage.html
标签: scala deployment jvm akka devops