Azure应用程序功能:此方案的最佳方法

时间:2018-04-21 23:39:14

标签: sql azure-functions

我正在开发一款小型游戏,其中玩家拥有用于执行某些自动操作的机器人。最简单的例子就是命令机器人将他送到特定的位置。基本上,用户给它一个位置,机器人去那里。我已经使用了很多Azure应用程序功能,我想用它们来进行机器人移动。

在我的头顶,我想到制作一个会触发每一分钟的功能,取出所有需要移动的机器人然后让它们移动。

这种方法的问题在于,如果游戏很受欢迎,可能会有数百个机器人,我必须确保功能执行时间保持在分钟以下。

我考虑过只检索需要移动的所有机器人然后为每个机器人通过其URL调用Azure应用程序功能,以使其为此特定机器人执行。在我的脑海中,它会将执行并行化一点,但我不确定我是否正确。

我还必须考虑使用sql事务,以确保不会造成死锁。

最后一个问题是“如何处理潜在大量数据的重复处理并确保其保持在分钟以下? »

感谢您的建议

1 个答案:

答案 0 :(得分:2)

通常,您使用队列处理此类方案。每个订单都成为一个队列消息,然后由它触发Azure功能并处理订单。它可以并将根据队列中的消息量进行扩展。

如果您的逻辑仍需要基于计时器的处理,则计时器应尽可能精简,例如:将队列消息发送到可以完成实际工作的队列。

相关问题