PrevalenceLayer wasn't a bad idea, for a start, but it's not exactly fault-tolerant and it forces your app to depend on ServerAffinity. What would happen if we pushed the prevalent objects down a tier?
MemCached (http://www.linuxjournal.com/article/7451) is a MultiCaster for MvcModel objects that enables the whole RubyOnRailsSharedNothing approach to web apps. Memory is cheaper than disk - and there's a lot of unused memory in a server farm. Using it for MvcModel Object caches enormously decreases database load and makes scalability linear with the amount of memory in the number of machines.
Cleverly, MemCached uses a hashing scheme to determine which object goes to which cache, which means beyond original registrations there's no necessary interoperation between caches to register model objects with each-other.
At a stroke this obsoletes bothFatBottomedArchitecture and FatMiddleArchitecture. Because cpu-demand for the caches is very low there's no reason to split MVC across tiers of machines. You have one untiered server farm, Capistrano at the front, database at the back, and multicasting caches working transparently for all model objects - Easy!CategoryMulticaster