This document summarizes the architecture and infrastructure of Douban.com. It describes how Douban uses Gentoo Linux, MySQL, Memcached, Quixote (Python web framework), and Lighttpd across multiple servers. It discusses strategies for scaling including replication, load balancing, and adding additional application servers. It also describes the evolution of Douban's storage systems from Memcache to DoubanFS to DoubanDB.
21. Internet
store.farm
App
MySQL
SCGI
Master
Lighttpd Memcache Replicate
store.farmr
HTTP Proxy
WebDAV Web Service
Replicate
Lighttpd
(w/ mod_memcache)
MySQL write
Slave
Spiders
Lighttpd
WebDAV
Memcache
Static Files
!quot;#$%
read
Data
Mining
MySQL
Slave
22. • store farmr
• replicate delay
•
•
• cache
•
•
• ...... but it works
25. • Scale Up 1U
• 16G 147G SCSI *2 + 500G SATA
• SCSI RAID-0
• MySQL Slave
• memcached
• MyISAM InnoDB
•
• Sphinx
26. Internet
Sphinx
MySQL
Master
store.farm
Web Service
Replicate
Lighttpd
SCGI
App
HTTP Proxy
Memcache
Lighttpd
(w/ mod_memcache) WebDAV
store.farmr
Memcache
Lighttpd
Web Service
WebDAV
MySQL
Static Files
Slave
Spiders
Memcache
Memcache