##目標
web三層構造について
なんでそんな構造が採用されているのか理解し、
実際のプロダクトの構造と比較して腑に落とす。
##定義
<WEBサーバー>
・静的コンテンツを返す
・アプリケーションサーバーに動的コンテンツを要求し、返ってきた結果を返す
<webアプリケーションサーバー>
webサーバーからのリクエストをJava、Ruby、PHPなどを実行して処理し、
動的コンテンツを生成して返す。
必要であればデータベースサーバーにリクエストして取得したデータを加工して埋め込んだ結果を返す
<データベースサーバー>
データの保管場所はストレージ。
ストレージとやりとりするサーバー。
##なぜわざわざ分けている??
メリット
・負荷分散
・耐障害性の確保
・セキュリティ
デメリット
・物理的なコストがかかる
##疑問1
なんで負荷分散になるのか?
普通に考えたら分ける方が通信によるオーバーヘッドで無駄が多い気がするんだが。
モノシリックなシステムの何がいけないの?
##実験
モノシリックなシステムと3層に分けたシステムを両方用意してパフォーマンスを比較する。
とりあえずDockerでやってみる。