Although event-driven solutions for handling concurrency are getting a lot of attention, they are not without compromise. The JVM provides a robust, battle-tested threading model, along with powerful concurrency libraries that make it easy to solve a wide-variety of problems that need a concurrent solution. By using JRuby, developers can get the advantages of dynamic languages like JavaScript, but wield the full power of the JVM, all while producing clean, comprehensible, testable code.
This talk will relate a real-world problem faced by LivingSocial, and its solution, to a more general set of guidelines, tools, and techniques that any developer can use to deliver a highly performant, concurrent system that is easy to understand.