对于非阻塞和快速服务器,框架,语言的build议?

我们的新项目会得到很多并发请求。 我没有太多的经验。 有什么build议么? 我已经看过NodeJS,Twisted,EventMachine和Tornado,但是我没有办法衡量它们的适用性。

有什么build议么?

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

  1. 我(或/和我的同事)知道什么语言? 如果你知道Python,你可以selectTwisted,如果你知道Ruby,你可以selectEventMachine,或者如果你真的使用JavaScript,你可以selectNode.js. (只有Erlang在这里没有优势)

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

  3. 我需要很多资源,社区支持,书籍等吗? 看看自己的IRC频道有多大,你会想出一个主意。 (我可能有偏见,但我看到Node.js频道上的人很多,他们真的很有帮助)

  4. 你想要这个框架有多成熟? (Node例如有2年,Erlang已经在`98等正式发布了)

  5. 什么公司/产品使用什么asynchronous框架? (例如CouchDB已经用Erlang构build,Node.js被Github,Linkedin等使用,EventMachine被PostRank,37信号等使用)

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

  • 首选的语言/平台 – 有人可以用特定的语言来加速开发。 find一个熟练的人也许是一个问题。
  • 为您的框架提供非阻塞库 – 例如,与其他框架相比,大多数node.js模块默认是非阻塞的,您可能会碰到一个问题,即find一个提供所需function的非阻塞版本的库。
  • 文档和社区支持是至关重要的。

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

如果你用Python编程, gevent也可能是一个不错的select。 甚至有一个Socket.IO实现 。

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

等一下,从头开始 扭曲是最适合的一切,总是,不pipe是什么。

Interesting Posts