Design and implement a scalable and high performance tcp server with tornado
summary
Uses Tornado as the network layer and splits work into a single-threaded network module that accepts connections and multiple worker processes that handle business logic via a simple command header; packages use a 4-byte length header and three command types (connect, disconnect, relay). Claims a production setup can hit 500k concurrent connections and ~1000 TPS, while the demo sustains 10,000 concurrent clients and about 500 messages/sec; unix domain sockets and per-client IDs speed local worker-to-network transfer.
AI-written summary · about
chapters (25)
- 0:00Intro
- 0:30Agenda
- 1:20TCP Server
- 1:51Performance Scalability
- 3:41Target
- 4:23Scaling
- 5:00Programming model
- 5:55Network library
- 6:13Tornado
- 7:14Twisted
- 8:03Quarantine
- 8:49Scalable
- 9:39Performance
- 10:15System Architecture
- 12:18Basic Flow
- 12:40Network Modules
- 13:00Connection Server
- 15:05Cluster
- 15:43Architecture
- 15:53Network module
- 16:21Events
- 16:47Global Interpreter Lock
- 17:50Partial Data Transmission
- 19:43Message Transmission
- 22:36Demo
related talks
40mBetter asynchronous code with Tornado and Python 3
15mHA/TCP: A Reliable and Scalable Framework for TCP Network Functions
13mRakaia: Scalable In-Kernel Scheduling for TCP-Based RPCs
21mPython Not Recommended
33mArtisanal Async Adventures
01h 10mTwisted up in a Distributed Tornado
17mRearchitecting the TCP Stack for I/O-Offloaded Content Delivery
01h 04mNaked coroutines live (with networking)
