タグ

RailsとRackに関するkuchitamaのブックマーク (2)

  • Railsアプリ開発中に思い出す、StrategyとRackミドルウェア - UUUM攻殻機動隊

    こんにちは、エンジニアのナカハシです。 最近は、しばらくRailsでのWebアプリ開発に勤しんでいる毎日です。 開発中にStrategyとRackミドルウェアを復習したので、軽くまとめてみました。 Strategyってなんだっけ? 今私が開発に参加しているファンクラブサイトは、複数種類のファンクラブサイトを1つのアカウントでログインできるようにしています。 各ファンクラブサイトのアクセス許可は、共通アカウント基盤に対してOAuth2で行うようにしています。Railsでのこの手のログイン認証を得る場合、対応するomniauth-xxxというgem(omniauth-twitterとかomniauth-facebookなど)を利用すると手軽に実現できるわけですが、それらのライブラリは以下のようなモジュール構造(名前空間)を持っています。 module OmniAuth module Strat

    Railsアプリ開発中に思い出す、StrategyとRackミドルウェア - UUUM攻殻機動隊
  • 最近の Rack サーバ事情について - おもしろwebサービス開発日記

    先月、heroku推しサーバが unicorn から puma に変わったという発表がありました。unicorn だとスロークライアントの影響を受けやすいというのが理由なようです。 もう少し詳しく調べてみましょう。 そもそもスロークライアントってなに その名の通り遅い回線のクライアントです。3G環境のモバイル端末などが該当します。 「unicorn だとスロークライアントの影響を受けやすい」とは unicorn はプロセスモデルのサーバであり、blocking I/O モデルを採用しています。つまり、クライアントとの通信中プロセスが専有されるということです。 例えば unicorn がワーカプロセスを3つ立ち上げていて、そこへ通信完了に10分かかるようなスロークライアントが3つ接続されたら…、続くクライアントはスロークライアントの通信が完了するまで実行を待たなければならなくなります。プ

    最近の Rack サーバ事情について - おもしろwebサービス開発日記
  • 1