##はじめに
今まではあまり気にしてこなかったのですが、そろそろ $ rails server したときに表示されるpumaについて知っていた方がいいなと思い調べたのでまとめておきます。
筆者は初学者なので間違いがあれば優しく教えていただけると幸いです。
##Pumaとは何か
Pumaとは、webサーバとしての機能もあるアプリケーションサーバです。
と言われて、自分は何言ってるのか分からなかったので1から説明します。
###・webサーバとは
ユーザーからのリクエストを必要に応じてアプリケーションサーバに渡すプログラムです。
有名なものではNginx(エンジンエックス)などがあります。
###・アプリケーションサーバとは
webサーバからのリクエストをrailsアプリケーションに渡す橋渡し的な存在です。
例えばユーザーがなんらかのリクエストをwebページに送ったとします。このリクエストは
#####webサーバ → アプリケーションサーバ(Pumaなど) → Rack → Railsのrouter → controller
という風に受け渡されて、アプリケーションで処理が行われます。
Rackについてはアプリケーションサーバとアプリケーションを繋ぐ魔法と思ってください。
##Pumaの特徴
マルチスレッドで大量のアクセスを効率的に処理することができるそうです。
複数のことを同時に(並列処理で)できるので、速いのだと思います。
##終わりに
自分用にまとめてみた感じなので、読みにくいかもしれません。
参考にした記事たちを紹介しておきます。僕みたいな初学者におすすめの記事たちです。
https://qiita.com/jnchito/items/3884f9a2ccc057f8f3a3
https://kitsune.blog/rails-summary