fab*_*osa 5 php connection-pooling amazon-ec2 polling
我有一个在N ec2服务器上运行的游戏,每个服务器都有自己的玩家(让我们假设它是每个服务器内部的独立游戏).
为这个游戏开发前端的最佳方法是什么,这样我就可以获得所有服务器上所有玩家的近实时信息.
我最初的做法是:
有一个共同托管的php网站从每个服务器轮询数据(每个服务器1个套接字).因为大多数共享解决方案并不真正提供永久套接字,所以这需要我每隔5秒左右创建和处理一个连接.因为没有具有该粒度的cronjob,我最终将使用一个不幸的客户端的请求来进行此更新.这里有很多错误,让我们考虑这是最糟糕的情况.
最好的方案(我猜)是用一些python/ruby/php基于web的前端创建小ec2实例,服务器应用程序设计用于轮询和保存网站数据库上的服务器的数据.虽然这应该可以正常工作,但我正在寻找一些解决方案,我不需要花那么多钱(即使微型实例对于这样的宠物项目来说也是昂贵的).
什么是最好和最便宜的解决方案?
是否有理由不能让一个服务器轮询其他服务器,将结果存储在json文件中,然后将该文件推送到相关的Web服务器?然后,客户可以使用ajax轻松地近乎实时地更新列表.
如果您不控制游戏服务器,我会将更新json的工作传递给其中一个随机客户端请求.它并没有你想象的那么糟糕.
考虑以下:
flush();
(测试以确保页面完全呈现,您可能需要发送空格或其他东西来填充缓冲区,具体取决于Web服务器的配置方式.附加flush(); sleep(4); echo "hi";
到php脚本应该是一种简单的测试方法.是的,客户端最终会在请求过程中花费很长时间,但这不会影响他们的页面加载,因此他们可能甚至都没有注意到.
归档时间: |
|
查看次数: |
362 次 |
最近记录: |