除了那个 node .js是用js编写的,Tornado是用Python编写的,两者之间有什么区别?它们都是非阻塞异步web服务器,对吗?除了语言,为什么要 Select 一种呢?

推荐答案

node的主要优势.js是all its libraries are async,所以你不必太担心阻塞.mysql、postgres、redis等都有异步库.默认情况下都是异步的.

Python有一个用于任何内容的库——但大多数库都不是异步的.为了利用tornado(而不是阻止这个过程),需要为其提供特殊的库(例如,你不能只是"pip install redis"并使用它,你需要大约brukva个),而且tornado库比node少得多.js库.例如,目前还没有异步mysql tornado驱动程序(或者至少我不知道).

但您仍然可以将许多python库与tornado(不进行i/o的库)结合使用,tornado社区正在填补这一空白.

使用node编写应用程序更容易.在我的经验中,js比使用tornado更好.我个人从node切换到了tornado.js,因为它更适合我的python项目的现有基础设施(提供html页面的django站点和提供实时功能的tornado服务器之间的集成非常轻松).

Node.js相关问答推荐

无法验证叶签名|无法验证第一个证书

查询嵌套数组中的最后一个元素具有特定值的mongoDB集合中的文档

FindOne()返回所有值,而不是一个值

npm错误;无法解析依赖项:npm ERR!对等webpack@;5.x.x;来自@webpack-cli/serve@2.0.5";

如何使用Stripe测试失败的收费?

在生产环境中,Nest实例启动时抛出不完整的导入错误

如何使用 node.js 将两个或多个 API 请求组合成一个端点并表达

我应该如何解决这个 Angular node 包模块依赖冲突?

Angular Build 生产返回致命的 javascript 无效大小错误

从 Response.json() 返回的 JSON 似乎无效?

当其中一个端点不工作时,如何使用 axios.all() 调用多个 API?

如何避免在 mongodb 聚合中查找重复结果?

使用mongoose 创建新文档并仅取回选定的字段

异步函数 - 等待不等待promise

向 Stripe 提交付款请求时出现没有此类令牌错误

node.js 中存储的模块变量在什么范围内?

使用 Node.js 我得到错误:EISDIR,读取

Node.js - 使用异步库 - 带有对象的 async.foreach

我应该如何在 webpack 中使用时刻时区?

如何在 node.js 沙箱中安全地运行用户提交的脚本?