Akka.NET + 光子服务器
Akka.NET + Photon Server
是否可以将 Akka.NET 与 Photon 服务器一起使用?
找不到关于此的任何信息。
这个解决方案的可扩展性如何?找到一些关于 Akka + Scala 游戏服务器的文章,但没有关于 Photon + Akka 兼容性的文章。
你绝对可以做到。在 photon 中创建一个超薄的 actor 系统,并通过 remoting/clustering 与您的后端服务 运行 Akka.
协作
这应该是一个非常可扩展的解决方案。如果你的系统设计得当,你将在前端获得 photon 的可扩展性,然后可以使用 Akka 创建一个弹性可扩展的后端集群,这应该非常适合你。
更新:从 OP 获得了有关预期用例的更多信息:"to use Akka for our backend services communication while photon directly connected to game client."
原始答案:
tl;dr 是的,它们似乎可以协同工作,尽管在这种情况下您可能会使用 Akka 来处理比网络层更多的核心游戏逻辑。
我没有使用过 Photon,但浏览了该站点,看起来您可以在 Photon 服务器上使用 Akka。不清楚的是 Akka 和 Photon 的网络功能可能会如何冲突,因为 Photon 似乎主要旨在为您包装和管理网络。 Akka.Remote & 集群也是如此,但级别较低(Akka 模块不会对你用它们做什么发表意见,而 Photon 的逻辑针对特定的游戏相关方法)。因此,当您转向多节点设置时,请密切注意那里。
Akka 的 networking/clustering 层,结合 Akka 是一个 distributed/concurrent 编程框架这一事实,表明您实际上可以使用 Akka 编写自己的游戏服务器。也就是说,您可以使用 Akka 创建类似 Photon 的东西。事实上,在过去的几个月里,我已经与几位工程师进行了交谈。
也就是说,我完全明白,如果 Photon 已经在做你想做的事情并且你知道这一点,你可能不想这样做。似乎 Photon 正在包装网络并内置了负载平衡和多人交互的逻辑。因此,您应该能够在其 RPC 框架的接收端使用 Akka,并使用 actor 轻松地对应用程序的其余部分进行建模。
是否可以将 Akka.NET 与 Photon 服务器一起使用?
找不到关于此的任何信息。
这个解决方案的可扩展性如何?找到一些关于 Akka + Scala 游戏服务器的文章,但没有关于 Photon + Akka 兼容性的文章。
你绝对可以做到。在 photon 中创建一个超薄的 actor 系统,并通过 remoting/clustering 与您的后端服务 运行 Akka.
协作这应该是一个非常可扩展的解决方案。如果你的系统设计得当,你将在前端获得 photon 的可扩展性,然后可以使用 Akka 创建一个弹性可扩展的后端集群,这应该非常适合你。
更新:从 OP 获得了有关预期用例的更多信息:"to use Akka for our backend services communication while photon directly connected to game client."
原始答案:
tl;dr 是的,它们似乎可以协同工作,尽管在这种情况下您可能会使用 Akka 来处理比网络层更多的核心游戏逻辑。
我没有使用过 Photon,但浏览了该站点,看起来您可以在 Photon 服务器上使用 Akka。不清楚的是 Akka 和 Photon 的网络功能可能会如何冲突,因为 Photon 似乎主要旨在为您包装和管理网络。 Akka.Remote & 集群也是如此,但级别较低(Akka 模块不会对你用它们做什么发表意见,而 Photon 的逻辑针对特定的游戏相关方法)。因此,当您转向多节点设置时,请密切注意那里。
Akka 的 networking/clustering 层,结合 Akka 是一个 distributed/concurrent 编程框架这一事实,表明您实际上可以使用 Akka 编写自己的游戏服务器。也就是说,您可以使用 Akka 创建类似 Photon 的东西。事实上,在过去的几个月里,我已经与几位工程师进行了交谈。
也就是说,我完全明白,如果 Photon 已经在做你想做的事情并且你知道这一点,你可能不想这样做。似乎 Photon 正在包装网络并内置了负载平衡和多人交互的逻辑。因此,您应该能够在其 RPC 框架的接收端使用 Akka,并使用 actor 轻松地对应用程序的其余部分进行建模。