IO多重化
この処理で非同期処理ができる理由は epoll を使うことで IO が READY になったものしか通知されなくなっているからで、そのため IO の処理先(例えば叩いた API での API 側での処理)で重たい処理があってもそこで処理がブロックされないためだ。 複数のリクエストがあっても、それに紐づく IO を待つことなく次々に処理でき、socket の先で処理を実行させているので処理が並行できている。 こういうのを IO 多重化と呼び、NodeJS プログラミングではたまに聞く言葉だ。
ちなみに「IO 完了後の続きの処理(API 越しに取ってきたデータを使った処理)に重たい処理があれば処理が詰まるのでは」と思うかもしれないがその指摘はとても正しく Node.js への批判としても有力なものだ。