Working with TCP Sockets 読書メモ 目次
ハイブリッド
- 複数のパターンを組み合わせて使うこともできる
nginx
- Cで実装された高速なWebサーバ
- メインはPreforkパターン
- forkされた各プロセスはイベント駆動
Puma
- Ruby製のWebサーバで、並列性が売り
- GILの無い実行系(JRuby, Rubinius)で最大のパフォーマンスを発揮する
- メインはスレッドプール
- 永続的コネクションの処理はイベント駆動
EventMachine
- Cで実装されたイベント駆動IOライブラリで、Ruby用インタフェースがある
- メインはイベント駆動
- 長く時間がかかったり、ブロックするような処理はスレッドプールで処理
以上で、「Working with TCP Sockets 読書メモ」シリーズは終了です。
『Working With TCP Sockets』の感想を簡単に書きます。
前半はソケットプログラミング自体の入門で、システムコールの働きなどがとても丁寧に解説されています。
後半は、ソケットプログラミングを活用したさまざまなアーキテクチャパターンの話で、こちらも非常に興味深かったです。
総じてよく書かれた本で、同著者の『なるほどUNIXプロセス』も読んでみたくなりました。