除了node.js是用JS编写而Tornado是用Python编写之外,两者之间还有哪些区别?它们都是非阻塞异步 Web 服务器,对吧?除了语言之外,为什么要选择其中一种而不是另一种?
Node.js 的主要优点是它的所有库都是异步的所以你不必太担心阻塞。 mysql、postgres、redis 等都有异步库。默认情况下都是异步的。
Python 有一个适用于任何事物的库 - 但大多数这些库都不是异步的。为了利用龙卷风(而不是阻止进程),需要特殊的库(例如,您不能只是“pip install redis”并使用它,您需要类似的东西brukva https://github.com/evilkost/brukva),并且tornado库比node.js库少得多。例如,目前没有可用的异步 mysql 龙卷风驱动程序(或者至少我不知道)。
但是你仍然可以在tornado中使用许多python库(那些不执行i/o的库),并且tornado社区正在提出并填补空白。
根据我的经验,使用node.js 编写应用程序比使用tornado 更容易。我个人从node.js切换到tornado,因为它更适合我的python项目的现有基础设施(提供html页面的django站点和提供实时功能的tornado服务器之间的集成非常轻松)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)