More Related Content Similar to 大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会 (20) 大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会1. Rails
4
/ Takayuki Kyowa
Kakaku.com,Inc
16. TiDD
•
• 2
•
•
• No Ticket , No Commit
•
•
17. Workflow
new
Development
assigned in_work committed
Testing
ready tested checked
Release
deployed released closed
23. Architecture
Load Balancer
PC Mobile
Front Front
PC BOT Mobile
Application Application Application
PC BOT Mobile
Master DB Slave DB Slave DB Slave DB
24. Architecture
• Ruby 1.8.6
• Rails 2.3
• Passenger 3.0
• BackgrounDRb / TabelogAsync
• MySQL 5.1
• memcached
• FAST(Full Text Searcher)
• Solr, MongoDB
26. 2007.10
PV 3000 4 5000 1500%
Code 2 10 500%
30 300 1000%
25 800 3200%
27. 2007.10
PV 3000 4 5000 1500%
Code 2 10 500%
30 300 1000%
25 800 3200%
37. • Rails
•
•
•
• …
•
•
38. Controller Helper Controller Helper
View Model View Model
Library Rails Library Rails
Controller Helper
View Model
Library Rails
...etc
39. - Howto
• → → → → OK!
• orz
•
•
•
•
• View
•
43. MVC
Controller
Model View
RDB Searcher KVS Web API
44. MVC - Rails
ActionController
Controller
ActiveRecord ActionView
Model View
RDB Searcher KVS Web API
46. Backend Divide - PHASE
ActionController
Controller
Tabelog::Service ActionView
Model View
ActiveRecord
RDB Searcher KVS Web API
47. Backend Divide - PHASE
• ActiveRecord Model
• Controller/View
• RDB
• ActiveRecord ORM
• Tabelog::Service
•
• Controller
48. Backend Divide - PHASE 2
Frontend-App
HTTP
Backend-App
RDB Searcher KVS Web API
49. Backend Divide - PHASE 2
Rails
(without ActiveRecord)
Frontend-App
Cobqlo::Requester
HTTP
Cobqlo
(Tabelog’s Framework) Backend-App
RDB Searcher KVS Web API
50. Backend Divide - PHASE 2
•
• API
• Cobqlo
• API
• EventMachine
• JSON/MessagePack
• Cobqlo::Requester
• HTTP
53. Rails 2
• Rails 3
• Modularity
• Pluggable
•
•
•
Editor's Notes \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n