首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
推荐学习书目
›
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
V2EX
›
Python
说个 tornado 在秒杀之类场景上的使用吧
sujin190
·
snower
·
2016-03-11 21:09:36 +08:00
· 3859 次点击
这是一个创建于 3283 天前的主题,其中的信息可能已经有所发展或是发生改变。
如果使用 tornado 之类的异步 io 框架,配合外部同步锁服务,似乎可以轻易实现原来面对秒杀之类瞬间高并发需要队列系统才能实现的场景了,外部共享锁服务因为协议简单, 10 万以上并发几乎可以轻松实现,锁空闲是通知需要锁的 tornado 进程,排队,高并发都有了,方便多了啊,各位怎么看?
Tornado
并发
秒杀
场景
5 条回复
•
2016-03-13 09:49:10 +08:00
1
em3rge
2016-03-11 22:39:44 +08:00
talk is cheap..
2
sujin190
OP
2016-03-11 23:28:42 +08:00
@
em3rge
现在我们支付就已经这么做了,方便很多
3
xiamx
2016-03-12 06:39:43 +08:00
有没有产生 deadlock 的可能?
4
sujin190
OP
2016-03-12 10:24:34 +08:00
@
xiamx
所以在设计同步锁的时候要有两个参数,一个是等待最大时间紧,另一个是锁保持最大时间,超过等待最大时间则获取锁超时,超过锁保持的最大时间则获取的锁要自动释放,一般来说超过平均处理时间数倍也就没问题了,这样既可以保持同步,又可以在程序异常时不出现死锁
5
xiamx
2016-03-13 09:49:10 +08:00
@
sujin190
超时锁释放后服务端保证 transaction atomicity 这块写起来也挺麻烦的吧
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
2168 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 22ms ·
UTC 00:48
·
PVG 08:48
·
LAX 16:48
·
JFK 19:48
Developed with
CodeLauncher
♥ Do have faith in what you're doing.