1

是否可以将 Akka.NET 与 Photon Server 一起使用?

找不到任何有关此的信息。

这个解决方案的可扩展性如何?找到一些关于 Akka + Scala 游戏服务器的文章,但没有关于 Photon + Akka 兼容性的文章。

4

1 回答 1

1

你绝对可以做到这一点。在 photon 中创建一个非常薄的演员系统,并通过远程处理/集群与运行 Akka 的后端服务进行协作。

这应该是一个非常可扩展的解决方案。如果您设计正确的系统,您将在前端获得光子的可扩展性,然后可以使用 Akka 创建一个弹性可扩展的后端集群,这应该非常适合您。

更新:从 OP 获得有关预期用例的更多信息:“在光子直接连接到游戏客户端时使用 Akka 进行我们的后端服务通信。”


原始答案:

tl; dr 是的,它们似乎可以一起工作,尽管在这种情况下,您可能会使用 Akka 来获得比网络层更多的核心游戏逻辑。

我没有使用过 Photon,但浏览了该站点,看起来您可以在 Photon 服务器上使用 Akka。尚不清楚 Akka 和 Photon 的网络功能可能会如何发生冲突,因为 Photon 似乎主要旨在为您包装和管理网络。Akka.Remote & Clustering 也是如此,但是是较低级别的(Akka 模块不会固执己见,而 Photon 的逻辑是针对特定游戏相关的方法)。因此,当您转向多节点设置时,请密切注意那里。

Akka 的网络/集群层,结合 Akka 是一个分布式/并发编程框架的事实,表明您实际上可以使用 Akka 来编写自己的游戏服务器。也就是说,您可以使用 Akka 创建像 Photon 这样的东西。事实上,在过去的几个月里,我已经与几位正在这样做的工程师进行了交谈。

也就是说,我完全明白,如果 Photon 已经在做你想做的事情并且你知道的话,你可能不想这样做。看起来 Photon 正在包裹网络,并内置了负载平衡和多人交互的逻辑。因此,您应该能够在其 RPC 框架的接收端使用 Akka,并使用 Actor 轻松地对应用程序的其余部分进行建模。

试试看,告诉我们社区聊天中发生了什么

于 2015-06-26T08:40:03.817 回答