在当前项目中,我们希望运行Akka集群功能的2.3.4版本,但出于我的目的,我希望用Java来实现。困难的部分来自于在CloudFoundry v2云中运行它的需要 - DEA监狱容器。
目前我们正在运行(单个实例)Akka上下文 - 没有集群 - 在java网络应用程序中,但我们需要摆脱这个。
我们希望能够扩展正在运行的实例数和新实例以加入现有集群。有没有一个很好的方法,这个要求是否有一个退出的构建包?
答案 0 :(得分:1)
我对Akka并不熟悉,但总的来说,做“群集”的技术在PaaS上效果不佳。对于许多PaaS,包括Cloud Foundry,您可以部署和“app”,然后将该应用程序扩展到多个实例。没有任何内置方法可以进行这些通信等,它们都作为独立实例运行。
我从Akka doc看到你可以列出在不同主机上运行的“种子节点”。这将是一个问题;如果期望每个“种子节点”在不同的主机上运行,则必须为每个“种子节点”创建一个单独的应用程序。
IBM Bluemix产品中基于Docker的新容器服务可能更适合您尝试的操作。您可以将Akka系统构建为一组交互容器。
答案 1 :(得分:1)
使用TCP路由器构建的最新Cloud Foundry将使用标准Java buildpack满足此要求。每个Akka层都可以暴露许多TCP端口,这些端口将放置在TCP负载平衡器后面。
您可以使用服务发现服务或类似Redis的服务来查找Akka代理商提供的各种相关服务。