1

在当前项目中,我们希望运行 Akka 集群功能的 2.3.4 版本,但出于我的目的,希望在 Java 中执行此操作。困难的部分来自于在 CloudFoundry v2 云 - DEA 守望者容器中运行它的需要。

目前,我们正在一个 java web 应用程序中运行(单个实例)Akka 上下文 - 没有集群 - 但我们需要从中逃脱。

我们希望能够扩展正在运行的实例和新实例的数量以加入现有集群。有没有一种好方法可以做到这一点,是否有针对此要求的现有 buildpack?

4

2 回答 2

1

我对 Akka 不熟悉,但总的来说,“集群”技术在 PaaS 上不会很好地发挥作用。对于包括 Cloud Foundry 在内的许多 PaaS,您可以部署和“应用程序”,然后将该应用程序扩展到多个实例。没有任何内置方法可以让这些通信等,它们都作为独立实例运行。

我从 Akka 文档中看到,您可以列出在不同主机上运行的“种子节点”。所以这将是一个问题。如果期望每个“种子节点”都在不同的主机上运行,​​则您必须为每个“种子节点”创建一个单独的应用程序。

IBM Bluemix 产品中新的基于 Docker 的容器服务可能更适合您正在尝试做的事情。您可以将您的 Akka 系统构建为一组交互容器。

于 2015-02-17T04:34:56.100 回答
1

使用 TCP 路由器的最新 Cloud Foundry 构建将使用标准 Java buildpack 满足这一点。每个 Akka 层都可以公开多个 TCP 端口,这些端口将放置在 TCP 负载均衡器后面。

你可以使用服务发现服务,或者类似 Redis 的东西,从你的 Akka 代理中找到各种依赖服务。

于 2016-03-16T13:11:54.323 回答