The recent popularity of Node.js has overshadowed the existence of a mature, powerful tool available to Ruby developers: EventMachine. For over four years, some of the best and brightest Ruby developers have been deploying high performance applications with the EventMachine toolkit. Learn how to harness this powerful tool with our EventMachine tutorial series.
While the average single-threaded Rails application can serve a few hundred requests per second, EventMachine applications routinely serve two or three thousand requests per second to thousands of concurrently connected clients. It's perfectly suited to building WebSocket servers that push data to the browser in real time. That being said, EventMachine is an advanced topic. You'll be working with threads, events, networking, and callbacks. But thanks to the Ruby language and the capabilities built into EventMachine, you'll be up and running in no time. In Module 2 of the Meet EventMachine tutorial, we introduce the basic primitives of EventMachine: tasks, threads, queues, channels, and the useful Deferrable. In Module 3 you'll build several client/server applications including a WebSocket server and a basic Goliath API server.