推荐学习书目
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
sujin190
V2EX  ›  Python

说个 tornado 在秒杀之类场景上的使用吧

  •  
  •   sujin190 ·
    snower · Mar 11, 2016 · 4548 views
    This topic created in 3725 days ago, the information mentioned may be changed or developed.
    如果使用 tornado 之类的异步 io 框架,配合外部同步锁服务,似乎可以轻易实现原来面对秒杀之类瞬间高并发需要队列系统才能实现的场景了,外部共享锁服务因为协议简单, 10 万以上并发几乎可以轻松实现,锁空闲是通知需要锁的 tornado 进程,排队,高并发都有了,方便多了啊,各位怎么看?
    5 replies    2016-03-13 09:49:10 +08:00
    em3rge
        1
    em3rge  
       Mar 11, 2016
    talk is cheap..
    sujin190
        2
    sujin190  
    OP
       Mar 11, 2016
    @em3rge 现在我们支付就已经这么做了,方便很多
    xiamx
        3
    xiamx  
       Mar 12, 2016
    有没有产生 deadlock 的可能?
    sujin190
        4
    sujin190  
    OP
       Mar 12, 2016
    @xiamx 所以在设计同步锁的时候要有两个参数,一个是等待最大时间紧,另一个是锁保持最大时间,超过等待最大时间则获取锁超时,超过锁保持的最大时间则获取的锁要自动释放,一般来说超过平均处理时间数倍也就没问题了,这样既可以保持同步,又可以在程序异常时不出现死锁
    xiamx
        5
    xiamx  
       Mar 13, 2016
    @sujin190 超时锁释放后服务端保证 transaction atomicity 这块写起来也挺麻烦的吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2551 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 01:43 · PVG 09:43 · LAX 18:43 · JFK 21:43
    ♥ Do have faith in what you're doing.