程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

Node vs python用于创建RESTful webservices [关闭]

发布于2019-08-26 10:23     阅读(531)     评论(0)     点赞(8)     收藏(5)


我正在为移动应用程序创建REST API后端。我很难在python中的Twisted矩阵Nodejs中的Express Framework之间做出决定。

我经历了几个参考:

  1. Python REST框架建议
  2. Web +移动应用程序的技术堆栈
  3. REST API的最佳语言/框架

像街区的其他孩子一样,我也有同样的要求:

  1. 易于维护。
  2. 可扩展到大流量。
  3. 应该支持MongoDB / NoSQL
  4. 应该安全且易于验证
  5. Web服务的其他标准要求。

我理解事实:

  1. “它的解决方案是规模,而不是技术。”
  2. 任何技术的良好解决方案都将取得成功。
  3. 大多数技术堆栈都有一些值得夸耀的成功案例。

如果我必须选择一个技术堆栈而不是另一个,它应该是什么?一方面,Nodejs提供本机异步和非阻塞I / O功能。但是,twistedmatrix 在它的小猫中有一些非常大的成功故事在python和其他语言中也可以使用其他框架。其他建议也受到欢迎。

我的具体问题是:我计划在python中使用Twisted Matrix来构建RESTful API。因为我之前有python和django的经验,而且代码非常整洁。我是否应该使用Node或其他技术堆栈?

请不要涉及扩展讨论。

ps1:了解移动应用程序,将其转换为基于地理位置的大规模消息传递。REST API必须处理空间计算。

ps2:我准备好接受信仰的飞跃。


解决方案


考虑到你在问题中所说的一切,你愿意接受信仰飞跃我想我有答案:

  • 我自己是一个python-django开发人员python因为你正在处理的问题,我不会首先考虑。

  • 在将成为非常大系统一部分的地理应用程序中,在最终实现应用程序的第一阶段时,您将遇到并发和优化问题。

  • 我认为你应该node.js毫不怀疑[它可能需要时间来实现它,但将是最好的解决方案],这就是为什么:

    • 它本身就是由于javascript的设计解决了你将面临的大多数性能问题。
    • 您不需要任何代理服务器nginx来提供服务,它将再次为您节省开销。
    • 它工作得非常好mongo db,再次作为一个很好的缓存后端。

    • 您可以实现nginx10 lineWeb服务器相当的性能node.js

概括地说, Python同步工作由设计,并且tornadoTwisted允许它去async棘手的线程-为什么不选择它本身自带的解决方案,那你的目标非常问题的技术?

node.js考虑到开发人员的工作效率,我不会更喜欢网站开发。但我会说我们应该使用node.js它真正解决问题的地方,即作为解决方案然后是技术(正如你在问题中引用的那样)。

这是一个问题,为什么nosqldb当你有一个很棒的关系数据库时使用postgres你知道你可以做的答案 - postgres你可以用nosqldbmongo 做的事情,而反之亦然。

所以,你的问题区域是原生的,node.js所以似乎没有必要尝试重新发明轮子python

注意事项:

  • node.js因为它是一种新技术,你将面临初步的摩擦
  • javascript 最初可能更难为python开发人员维护。
  • 信仰的飞跃是必须的,因为你的目标是长期目标,而不是短期的好处,节省时间在久经考验的技术上。

举个例子 :

  • Facebook使用php其所有网页,但它使用固有的并发erlang聊天。
  • 考虑erlangpython仿真,考虑更合乎逻辑。


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/60285/ff266c96c436842ba3e6/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

8 0
收藏该文
已收藏

评论内容:(最多支持255个字符)