Tom Preston-Werner
@mojombo
GitHub Infrastructure
Monday, October 4, 2010
GitHub Infrastructure Tom Preston-Werner @mojombo Monday, October - - PowerPoint PPT Presentation
GitHub Infrastructure Tom Preston-Werner @mojombo Monday, October 4, 2010 Git? Monday, October 4, 2010 Tom PJ Chris Monday, October 4, 2010 C1 Monday, October 4, 2010 C1 C2 Monday, October 4, 2010 C1 C2 C3 C4 Monday, October 4,
Tom Preston-Werner
@mojombo
GitHub Infrastructure
Monday, October 4, 2010Tom Chris PJ
Monday, October 4, 2010C1
Monday, October 4, 2010C1 C2
Monday, October 4, 2010C1 C2 C3 C4
Monday, October 4, 2010C1 C2 C3 C4 C5
Monday, October 4, 2010C1 C2 C3 C4 C5 master
Monday, October 4, 2010C1 C2 C3 C4 C5 master C6
Monday, October 4, 2010Load Balancer
Frontend
! 6
nginx Unicorn Unicorn Worker
! 15
Monday, October 4, 2010Frontend
! 6
nginx Unicorn Unicorn Worker! 15
Monday, October 4, 2010http://unicorn.bogomips.org
Load BalancerFrontend
! 6
nginx Unicorn Unicorn Worker! 15
Monday, October 4, 2010Frontend
nginx Unicorn Unicorn Worker
Memcache
memcached
Database
MySQL
Monday, October 4, 2010http://memcached.org
Frontend
nginx Unicorn Unicorn WorkerMemcache
memcachedDatabase
MySQL Monday, October 4, 2010http://www.mysql.com/
Frontend
nginx Unicorn Unicorn WorkerMemcache
memcachedDatabase
MySQL Monday, October 4, 2010Frontend
Unicorn Worker
File Server
! 8
HAProxy ProxyMachine
! 2 Database
Redis
Monday, October 4, 2010http://github.com/mojombo/grit
Frontend Unicorn Worker File Server! 8
HAProxy ProxyMachine ! 2 Database Redis Monday, October 4, 2010http://bert-rpc.org
Frontend Unicorn Worker File Server! 8
HAProxy ProxyMachine ! 2 Database Redis Monday, October 4, 2010{call, smoke, rpc, [rev_list, <<"mojombo/jekyll.git">>, 20, [{bert,dict, [{max_count,1}]}, <<"master">> ] ] }
Monday, October 4, 2010http://haproxy.1wt.eu/
Frontend Unicorn Worker File Server! 8
HAProxy ProxyMachine ! 2 Database Redis Monday, October 4, 2010http://github.com/mojombo/proxymachine
Frontend Unicorn Worker File Server! 8
HAProxy ProxyMachine ! 2 Database Redis Monday, October 4, 2010{call, smoke, rpc, [rev_list, <<"mojombo/jekyll.git">>, 20, [{bert,dict, [{max_count,1}]}, <<"master">> ] ] }
Monday, October 4, 2010http://code.google.com/p/redis
Frontend Unicorn Worker File Server! 8
HAProxy ProxyMachine ! 2 Database Redis Monday, October 4, 2010! 8
HAProxy ProxyMachine ! 2 Database Redis Monday, October 4, 2010BERT-RPC Server 2 BERT-RPC Client Redis ProxyMachine BERT-RPC Server 1 BERT-RPC Server 3
Monday, October 4, 2010BERT-RPC Server 2 BERT-RPC Client Redis ProxyMachine BERT-RPC Server 1 BERT-RPC Server 3
Monday, October 4, 2010BERT-RPC Server 2 BERT-RPC Client Redis ProxyMachine BERT-RPC Server 1 BERT-RPC Server 3
?
Monday, October 4, 2010BERT-RPC Server 2 BERT-RPC Client Redis ProxyMachine BERT-RPC Server 1 BERT-RPC Server 3
? 2
Monday, October 4, 2010BERT-RPC Server 2 BERT-RPC Client Redis ProxyMachine BERT-RPC Server 1 BERT-RPC Server 3
Monday, October 4, 2010BERT-RPC Server 2 BERT-RPC Client Redis ProxyMachine BERT-RPC Server 1 BERT-RPC Server 3
Monday, October 4, 2010BERT-RPC Server 2 BERT-RPC Client Redis ProxyMachine BERT-RPC Server 1 BERT-RPC Server 3
Monday, October 4, 2010BERT-RPC Server 2 BERT-RPC Client Redis ProxyMachine BERT-RPC Server 1 BERT-RPC Server 3
Monday, October 4, 2010Frontend File Server
ProxyMachine HAProxy Ernie Handler
! 2 ! 15
Monday, October 4, 2010http://github.com/mojombo/ernie
Frontend File Server
ProxyMachine HAProxy Ernie Handler! 2 ! 15
Monday, October 4, 2010Frontend File Server
ProxyMachine HAProxy Ernie Handler! 2 ! 15
http://github.com/mojombo/grit
Monday, October 4, 2010Frontend
HAProxy ProxymachineDatabase
RedisFile Server
HAProxy Git Daemon! 2
Monday, October 4, 2010Frontend
SSHD GerveDatabase
RedisFile Server
SSH Git Shell Monday, October 4, 2010http://www.drbd.org/
Monday, October 4, 2010fs1 mc1 DRBD fs2 mc2 DRBD fs3 mc3 DRBD
Monday, October 4, 2010http://github.com/defunkt/resque
Monday, October 4, 2010http://librato.com/
Monday, October 4, 2010@mojombo
Monday, October 4, 2010