推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
gcweb
V2EX  ›  Python

大家都在用twisted干啥?

  •  
  •   gcweb ·
    reterVision · Dec 22, 2013 · 18359 views
    This topic created in 4701 days ago, the information mentioned may be changed or developed.
    准备用这货写个API server,不知道靠不靠谱
    15 replies  •  2018-01-14 00:42:19 +08:00
    zoowii
    zoowii
    Dec 22, 2013
    1
    感觉好古老的东西啊,
    zoowii
    zoowii
    Dec 22, 2013
    2
    和gevent, tornado相比有什么优势吗?
    zenliver
    zenliver
    Dec 23, 2013
    3
    twisted make you twisted
    zhangxiao
    zhangxiao
    Dec 23, 2013
    4
    感觉twisted对callback的封装很好,后来用nodejs和scala的finagle感觉都不如twisted那么简练
    jjx
    jjx
    Dec 23, 2013
    5
    twisted 完全是java风格的,那些说python不适合大型项目的真应该看看twsited

    现在的twisted, 稳是我对他的最大印象, 其次,pypy下表现很好
    jjx
    jjx
    Dec 23, 2013
    6
    我主要是用在工业仪表数据采集,有使用tcp server/serial/gsm等通讯模式
    JohnDeng
    JohnDeng
    Dec 23, 2013
    7
    twisted来写TCP比较多吧。
    xuwenbao
    xuwenbao
    Dec 24, 2013
    8
    @zenliver 这位同学说的对 ... twisted就是"扭曲"
    gcweb
    gcweb
    OP
    Dec 24, 2013
    9
    @jjx 听上去很酷的样子啊,能具体介绍下吗?
    myrual
    myrual
    Dec 24, 2013
    10
    如果基于tcp和udp协议设计应用的话非常顺手,基本上网络通讯你需要关心的业务逻辑都在一个类里面写就够了。
    缺点是你不能在处理逻辑里面sleep,或者出现阻塞操作,如果要处理延时或者block的操作,要用twisted的高级特性,但是我真的不懂高级特性。

    个人建议如果是基于tcp或者udp设计服务,不如试试go,性能很好,代码好写,坑少一些。
    jjx
    jjx
    Dec 25, 2013
    11
    @myrual 几百个客户端也直接写在里面也没有事情, 几k 就要考虑分离进程了, 我用txzmq将实际的逻辑分离到多个woker, 但有时为了部署简单,也有直接在twisted里面跑的.

    @gcweb 我做的是一个通用的电压监测仪采集平台, 目前支持10来种国内厂家的电压监测仪. 仪表各种通讯方式都有udp,tcp, gsm,串口,tcp转串口等. 前端是一个pyzmq程序接受web请求, 后端是twisted +txzmq +worker(一表一服务,通常有多个服务跑), 还有一个zmq订阅服务将数据转发到前端, windows 上也有部署, 使用的是iocpreactor, twisted大概是python中少有的支持icop的框架之一了吧. 总之twisted部分就是非常稳定.
    F0ur
    F0ur
    Dec 25, 2013
    12
    几年前用过twisted写过棋牌类游戏服务端。。觉得挺好用的
    gcweb
    gcweb
    OP
    Dec 25, 2013
    13
    @myrual 确实也在考虑用golang
    Jordan
    Jordan
    Dec 27, 2013
    14
    很稳定的一个框架,曾在上面写过一堆程序,在WIN下面调试完直接扔在AIX/HP-UX上跑,一点问题都没有。

    异步机制基于callback,只要不用callback-chain还好,否则还是自己先看一次deferred的代码,搞懂里面callback-chain的处理机制,会用的安心点。

    性能比不上gevent,特别是在高并发下。win下安装倒是方便,官网有编译好的exe包。

    如果程序要长期跑在win下,可以考虑。

    自从我用了Macbook后,就没碰过twisted,改用gevent,性能更好。
    pynix
    pynix
    Jan 14, 2018
    15
    java 那帮人写出来恶心 python 的吧?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3935 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 05:33 · PVG 13:33 · LAX 21:33 · JFK 00:33
    ♥ Do have faith in what you're doing.