我目前正在使用PHP和Kohana框架创建一个网站。我想网站能够使用实时(或接近实时)数据(例如聊天和实时订阅)。我需要它能够扩展到数千个并发用户。我读了很多书,仍然不知道最好的方法是什么。在
有人有使用StreamHub的经验吗?它可以和PHP一起使用吗?在
我是不是在自掘坟墓,需要转换语言?我已经看过node js和nowjs,但是我对用Express编写while站点感到厌烦(我想知道安全漏洞、代码可维护性、缺少良好的ORM)。我读过Twisted Python,但是不知道什么样的web框架可以很好地在上面工作,我不希望使用Nevow——也许Django可以很好地与Twisted Python一起使用?我只是希望被指向正确的方向,所以我不会在PHP中走得太远,并意识到我无法获得所需的接近实时的结果。在
谢谢你的帮助。在
如果你能做JavaScript,我可以亲自担保代码的可维护性。我个人觉得JavaScript比PHP更易于维护,但这可能是因为缺乏PHP经验。在
ORM不是一个问题,因为节点.js支持基于文档的数据库。基于文档的数据库和JSON是齐头并进的,我发现couch数据库和它的map/reduce系统易于使用,使用JSON感觉很自然。在
在安全漏洞方面,是的节点.js服务器年轻,可能有漏洞。这些都是无法避免的。目前还没有已知的漏洞,我想说它也不会更容易受到攻击 然后是IIS/apache/nginx,直到有人指出一个大缺陷。在
这样的可伸缩性需要非阻塞IO。这需要一个非阻塞IO服务器,如nginx或节点.js(是的,阻塞IO可以工作,但您需要更多的硬件。在
我个人建议使用节点.js因为在节点中编写非阻塞IO更容易。你可以用PHP来做,但是你必须做出正确的设计和架构决策。我怀疑是否有真正异步的非阻塞PHP框架。在
Python的twisted/Ruby的EventMachine和nginx可以一起工作,但我没有这些方面的专业知识。至少对于node,您不会意外地调用阻塞库或使用本机阻塞库,因为JavaScript没有本机IO。在
PHP不是用于实时更新网站的语言。PHP脚本在HTML之前加载(HTML调用javascript文件),因此PHP无法为您更新页面。但是,当与AJAX一起使用时(例如,使用jQuery函数调用PHP文件来实时更新页面),可以用这种方式使用PHP。在
使用jQuery和AJAX(都是javascript),您可以在不重新加载的情况下更新页面。我见过像this one这样的站点,它们演示了如何使用jQuery进行聊天。在
相关问题 更多 >
编程相关推荐