我正在创建一个允许用户对事件进行投注的赌场类型游戏,并且我计划使用 Microsoft Azure 作为处理和数据存储(表存储)的后端。我正在寻找有关如何验证信息并通知用户任何更新的任何想法。
理念: 该应用程序允许用户对事件下注,例如在线博彩公司(PaddyPower、Ladbrokes 等)。
工作流程:
- 用户对某个事件下注
- 活动结束后,投注结算并通知用户任何奖金
- 转到第 1 步
场景(简化):
- 活动开始后用户不应该下注
- 应通知用户任何问题和奖金
过程:
解决方案 1 - 使用队列: 当用户下注时,一条消息将被放入队列(供所有用户使用)并由 Worker Role 处理。
如果下注对赛事来说太迟了,或者玩家最终赢得了赌注,则需要通知他们结果。
因此,每个活动用户都有自己的队列,客户端应用程序会轮询任何更新。这将允许客户端应用程序获取任何通知并将其显示给用户。
解决方案 2 - 使用 WCF 和队列: 当用户下注时,他们连接到 WCF 服务,它会进行事件开始检查,如果有任何问题,他们会立即收到通知。
将任何通知返回给用户的唯一方法是使用解决方案 1 中的 Queue 方法。
笔记:
- 上面的场景是游戏的简化版,但是机制是一样的,所以我只是在寻找好的架构思路
- 我不打算使用通知服务,因为我计划将此应用程序同时用于移动设备和 Facebook,并希望在所有设备上都有相同的体验
- 我正在使用表存储,而不是使用 SQL Azure
- 如果更有意义,我愿意使用服务总线
那么哪种解决方案是理想的,还是有更好的解决方案?