~/talk

Safely Decomposing a Highly Available Rails App

Talkat Rocky Mountain Ruby 2015 · 2015-09-23..09-25· [ruby-on-rails, microservices]
github:agfor
slides:none on file

A 100,000-line legacy Rails monolith gets a new Rails 4.1 API app and is validated by an in-process quackery proxy that dual-calls old and new code so responses can be compared; heavy use of double-writing via rolled-back DB transactions lets non-idempotent endpoints be checked against real state while sharing one PostgreSQL database. Performance work uses PG Bouncer, OJ, rails_api, nginx + unicorn and short caches to hit single-digit millisecond requests. The DB split proceeds with a read‑only mode, leaving only minutes of degraded noncritical UI and jobs.

AI-written summary · about

  1. 0:00Start
  2. 0:36Decomposing a Highly Available Rails App
  3. 1:18Context
  4. 3:22High-Level Strategy
  5. 6:52Connection Overhead
  6. 8:13Code Correctness
  7. 8:46Shared Context
  8. 10:22Proxy Layer
  9. 15:19Split the Database
  10. 16:04Db Dump and Reload
  11. 17:35Optional Auditing and Analytics
  12. 18:11Read-Only Mode
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.