ASP.NET到Akka通过Azure / AWS消息队列

时间:2014-02-11 01:13:56

标签: architecture akka distributed multiplayer

我是分布式应用程序设计的新手,我正在尝试使用此测试应用程序来了解它们如何一起工作。因此,我将非常感谢有关以下应用程序设计的任何反馈。

问题:

设计回合制多人游戏。

可能的实施:

我正在考虑以下高级实施/工作流程:

Client (Mobile/Web/etc) <-> SignalR ASP MVC website <-> Azure/AWS MQ <-> Akka actors <-> DB

每个连接的客户端在Akka后端都有一个对应的Player actor。

客户端的所有请求/响应都将通过SignalR ASP前端,并通过消息队列委派给适当的后端actor。

所有对游戏的移动/状态查询都将由那些Player个角色发送到后端的相应Game角色,这将处理更新DB中的游戏状态。

问题:

这种设计有意义吗?这是Akka的正确用例吗?

1 个答案:

答案 0 :(得分:1)

该设计当然是可行的(我不会将用例限定为正确或不正确),尽管SignalR / Azure / DB不是先验必需的组件:您也可以使用Play framework构建前端(例如),使用Akka ClusterDistributed PubSub进行消息传递,使用Akka Persistence来存储游戏世界的状态。但是你可能选择的任何混合应该可以正常工作。如果您对与Akka“全押”的感觉如何感兴趣,可以查看Reactive Maps中的Activator教程。