11 ms·
Check out http://sheddingbikes.com/posts/1289384533.html http://sheddingbikes.com/posts/1289384533.html, >Instead of one gigantic process that has to handle al
by wetbrain 14y ago
Check out http://sheddingbikes.com/posts/1289384533.html http://sheddingbikes.com/posts/1289384533.html,
>Instead of one gigantic process that has to handle all of an application, you'd have a handful of little ones. Instead of scaling massive applications across a cluster, you just scaled each interface out as needed. Instead of upgrading the whole enchilada at once, you just upgraded each interface only if it needed it. Instead of worrying about migrating user's coroutines across upgrades you just did the "Erlang trick" and moved them over to the new deployments.
He goes on to describe Tir, the natural style, and Lua's coroutines. Great intro to a fun framework.
- sigil 14y agoInstead of worrying about migrating user's coroutines across upgrades you just did the "Erlang trick" and moved them over to the new deployments. I'd like to hear how this works in detail. Suppose a user is exercising a multi-request handler, say pagination of personalized results. At what point do you kill the coroutine and let the next request start a new handler in the new, upgraded process? What about state that the coroutine may have that hasn't been persisted anywhere else?