2011-11-23 29 views

回答

1

問自己以下問題(至少),然後再決定:

  1. 什麼語言我(或/和我的同事),知道嗎?如果你知道Python,你可以選擇Twisted,如果你知道Ruby,你可以選擇EventMachine,或者如果你對JavaScript非常好,你可以選擇Node.js. (只有Erlang在這裏沒有優勢)

  2. 我想使用語言結構(Erlang,Node.js)還是庫(Twisted,EventMachine)?

  3. 我是否需要大量資源,社區支持,書籍等?看看自己在IRC上的頻道有多大,你會想出一個主意。 (我可能有偏見,但我看到Node.js頻道上有很多人,他們真的很有幫助)

  4. 你想要框架成熟嗎? (Node例如有2年,Erlang已經在`98等正式發佈)

  5. 什麼公司/產品使用什麼異步框架? (例如CouchDB的已建成二郎,Node.js的用於通過Github上,LinkedIn和其他人,EventMachine的是圖解!用,37點的信號等)

1

特定非阻塞框架的適合性可以取決於在某些方面,如:

  • 首選語言/平臺 - 有人可以精通特定語言,這可能會加速發展。找到一個熟練的人也許是個問題。
  • 針對您的框架的非阻塞庫的可用性 - 例如,與其他框架相比,大多數node.js模塊在默認情況下都是非阻塞的,您可能遇到一個問題,即找到一個非阻塞版本庫所需的功能。
  • 文檔和社區支持是必不可少的。
1

正如其他人所說 - 你應該選擇擁有非阻塞庫(例如數據庫驅動程序)的人,如果可能的話,使用你的團隊知道的語言。人氣也可能是一個優勢。

如果您使用Python進行編程,gevent也可能是一個不錯的選擇。甚至有一個Socket.IO implementation

1

制定衡量適宜性的指標,然後使用該指標。如果你沒有提供評估的基礎,那麼這裏的任何人都可以告訴你哪一個最合適?

等一下,從頭開始。扭曲是最適合的一切,無論如何,總是。