Slide 1

Slide 1 text

ココカラ勉強会 WEBサーバ と APサーバの違い 発表者 よし

Slide 2

Slide 2 text

主な内容 Webの仕組み 大まかな枠組み Webの三層構造について Webサーバとは APサーバとは まとめ 本日の流れ

Slide 3

Slide 3 text

今まで話した LT内容 ・WWWの歴史 ・HTTP、TCP/IPについて ・Linuxについて ・ブラウザについて(Webレンダリング) ・,,,,etc

Slide 4

Slide 4 text

「WebサーバとAPサーバ ってよく聞くけど、何が 違うんでしょ??」 最近この質問に詰まってしまいま した。

Slide 5

Slide 5 text

AP サーバ プログラムが処理を行い 動的コンテンツをつく る。 WEB サーバ クライアントから来たリ クエストをAPサーバに渡 したり、静的コンテンツ を送る。

Slide 6

Slide 6 text

アプリケーション ミドルウェア ハードウェア OS

Slide 7

Slide 7 text

役割 ①静的コンテンツを送る ②動的コンテンツをつくる ようにAPサーバにリクエス トし、作られたHTMLをク ライアントに返す Apache HTTP Server ・OSS ・マルチプロセスの  プロセス駆動アーキテクチャ  →C10K問題 Webサーバ 主なWebサーバ NGINX ・OSS ・シングルスレッドモデルの イベント駆動アーキテクチャ 特徴 多くのリクエストが来る が、一つに対する処理の不 可は軽い

Slide 8

Slide 8 text

役割 ①Webサーバのリクエストをもとに、 JavaやPHP等で作られたAppで動的コン テンツの作成 ②必要があればDBサーバへアクセスし データのCRUDを行い、加工したHTML をWebサーバに返す。 APサーバ 主なWebサーバ Tomcat from Java Puma /unicorn from ruby gunicorn from Python php_mod php (モジュール) 特徴 リクエストの数は少ないが、一つに対す る処理が重い

Slide 9

Slide 9 text

WEBのしくみ まずは簡単に

Slide 10

Slide 10 text

クライアント サーバ クライアントサーバーシステム リクエスト レスポンス サイト見たい! データ送るね!

Slide 11

Slide 11 text

クライアント サーバ クライアントサーバーシステム 今回はこの サーバにつ いてもっと 深掘りまし ょう! サイト見たい! データ送るね!

Slide 12

Slide 12 text

クライアント サーバ クライアントサーバーシステム リクエスト レスポンス サイト見たい! HTML送るね! サーバの歴史 ①静的サイトのみを返していた。

Slide 13

Slide 13 text

同じ情報がかえってくるだけ じゃなくて、動的な機能をつ けたいなぁ。

Slide 14

Slide 14 text

動的 コンテンツ 見る人や、時間によって 変化するコンテンツ 例 ECサイト SNSサービス 静的 コンテンツ いつ見ても変わらない、 同じコンテンツ 例 ホームページ ブログ

Slide 15

Slide 15 text

クライアント Webサーバ サイト見たい! 動的アプリケーションの誕生 サーバの歴史 ②CGIの登場! 新しいHTML作るね! Webサーバ内 Perl インタプリンタ CommonGatewayInterface (異なる機器感で通信が可能に) アプリケーション ノード1

Slide 16

Slide 16 text

CGIめっちゃ遅いし、Perl大 規模むいてないな,,, もっと柔軟にかつ、高速にで きひんかな〜

Slide 17

Slide 17 text

クライアント Apache (Webサーバ) プログラム サイト見たい! Javaでより高速、大規模化! サーバの歴史 ③モジュールで高速化! mod_jk ajp13 プロトコル Tomcat (APサーバ) ノード

Slide 18

Slide 18 text

クライアント Apache (Webサーバ) サイト見たい! WEB三層構造の完成! サーバの歴史 ④それぞれサーバを分けて拡大! mod_jk Tomcat (APサーバ) MySQL (DBサーバ) ノード1 ノード3 ノード2

Slide 19

Slide 19 text

WEBサーバ DBサーバ APサーバ WEBの3層構造

Slide 20

Slide 20 text

クライアント Apache (Webサーバ) ケースによって変化可能! APサーバを分けて処理を分散 mod_jk Tomcat1 (APサーバ) Bの処理Tomcat2へ Tomcat2 (APサーバ) Aの処理はTomcat1へ

Slide 21

Slide 21 text

クライアント サイト見たい! 小規模ならこれもOK! Web/APサーバの構成も可能! Tomcat (Web/APサーバ) MySQL (DBサーバ) ノード2 ノード1

Slide 22

Slide 22 text

三層構造のメリット ・責務の分担で処理を軽減で きる。 ・バグがあった場合に、その サーバのみのデバッグです む。 ・拡張性があり、柔軟に対応 できる。 デメリット ・費用がサーバー台分高い。

Slide 23

Slide 23 text

御清聴ありがとうございました!