2010-05-23 150 views
0

我们想要创建一个像this这样的在线游戏。我认为,这种类型的游戏在Web服务器上有一个调度软件。例如:玩家点击创建资源创建资源需要20分钟(每个资源创建时间将会不同)。此消息将发送到Web服务器应用程序,但此消息不会同时处理,例如必须在20分钟后处理。获取消息后,Web服务器应用程序必须将订单放入队列中。在Web服务器上调度作业

我们有一些大问题:

1的职位必须是由Web服务器应用程序,即使玩家退出游戏完整。我认为我们必须在Web Server上创建类似Windows服务的东西。我们能做到吗?或者,还有更好的方法?第二个问题取决于问题1,因为我们会有很多工作(每个玩家可以在每个Loggin中创建20,30个工作,而且我们将有成千上万的用户),所以我们的计划系统必须按时工作。有可能的是,如果应用程序不能在他的工作中完成工作,那么在同一秒内就会有100,1000个工作。第二个工作将在下一个时间使用,下一个工作将转移到下一个工作时间等等。这个问题 ?

平台:净3.5在Windows 2003 Web服务器

干杯

阿萨德的Safari

敏捷教练,Scrum Master的

回答

0

好具体的答案将取决于其技术/语言/你正在使用的平台。在java中,检查Quartz提供的调度服务来安排作业;并检查JMS/MDB以实现您在问题2中提到的异步事件处理。

0

我想我的答案将不完全适合你的问题,但它会解决你的问题。两点都一次。

首先,你为什么要自动化执行这个事件?据我所知,只有在特定时间之前创建资源时,您才需要让玩家访问他的资源。

嗯,这是我的解决方案: 插入字段名为usable_since或类似的东西,你的资源模型类,当玩家创建自己的资源,只需设置该字段的值设置为当前时间加上所需的等待时间。

这样,你击败了两个问题:

  1. 的资源将是即使玩家下线可用和
  2. 你是不会需要设置这么大的工作处理程序,即使一百万用户。

我希望它有帮助。祝你在开发游戏时获得最好的运气。让它变得有趣!