建议非阻塞&快速的服务器,框架,语言?

时间:2011-11-23 03:11:22

标签: node.js twisted tornado eventmachine

我们的新项目将获得大量并发请求。我对此没有太多经验。有什么建议?我看过NodeJS,Twisted,EventMachine&龙卷风,但我没有办法衡量它们的合适程度。

有什么建议吗?

4 个答案:

答案 0 :(得分:1)

问自己以下问题(至少)然后决定:

  1. 我(或/和我的同事)知道什么语言?如果您了解Python,您可以选择Twisted,如果您了解Ruby,您可以选择EventMachine,或者如果您对JavaScript非常满意,可以选择Node.js. (只有Erlang在这里没有优势)

  2. 我想使用语言构造(Erlang,Node.js)还是库(Twisted,EventMachine)?

  3. 我需要大量资源,社区支持,书籍等吗?自己检查一下他们在IRC上的频道有多大,你就会有所了解。 (我可能有偏见,但我在Node.js频道上看到很多人,他们真的很有帮助)

  4. 您希望框架有多成熟? (节点例如有2年,Erlang已经在98年正式发布等)

  5. 哪些公司/产品正在使用什么异步框架? (例如,CouchDB使用Erlang构建,Node.js由Github,Linkedin和其他人使用,EventMachine由PostRank使用,37个信号等)

答案 1 :(得分:1)

特定非阻塞框架的适用性可能取决于某些方面,例如:

  • 首选语言/平台 - 某人可以精通特定语言,这可能会加快开发速度。找到技术熟练的人也许是个问题。
  • 您的框架的非阻塞库的可用性 - 例如,与其他框架相比,大多数node.js模块默认是非阻塞的,在这些框架中您可能会遇到查找提供非blocing版本库的问题期望的功能。
  • 文档和社区支持至关重要。

答案 2 :(得分:1)

正如其他人所说 - 你应该使用你需要的非阻塞库(例如数据库驱动程序),并且如果可能的话,使用你的团队所知的语言。人气也可能是一个优势。

如果您使用Python进行编程,gevent也可能是一个不错的选择。甚至有Socket.IO implementation

答案 3 :(得分:1)

制定衡量适用性的指标,然后使用该指标。如果你没有提供任何评估依据,那么这里的人怎么能告诉你哪一个最合适呢?

等等,抓一点。无论如何,扭曲是最适合一切的。