In this chapter, we looked beyond the event loop as a concurrency mechanism in NodeJS. We started out by implementing coroutines using the
Co library. From there, we learned about launching new processes, including the difference between forking another Node process and spawning other non-Node processes. Then, we looked at another approach to managing concurrency using the
cluster module, which makes handling web requests in parallel processes as transparent as possible. Finally, we wrapped up the chapter with a look at using the
node-http-proxy module to parallelize our web requests at the machine level.