そんなの今更どうした
若い子がいまいち理解してなかったので
良さげな記事探したけどなかったのでしょうがなく書いてます。ご理解ください。
ざっくり流れ
[①ブラウザ] → [②DNS] → [③CDN] → [④WAF] → [⑤ロードバランサー] → [⑥Webアプリケーションサーバ] → [⑥DBサーバ]
それぞれを細かく見ていこう
① ブラウザからURL入力
② DNS(Domain Name System)
ドメイン名(example.com)からIPアドレスを調べる
インターネット上の「住所録」
結果として「このサイトは 例:203.0.113.10 にあるよ」と返してくれる
③ CDN(Content Delivery Network)
世界中にあるキャッシュサーバーから画像・CSS・JSなど静的ファイルを高速配信
通常、ユーザーの最寄りの拠点から配信され、読み込みが早くなる
キャッシュヒットすれば以降の処理(アプリやDB)に行かず応答終了
④ WAF(Web Application Firewall)
アプリケーションに届く前に、不正アクセスを遮断(SQLインジェクション、XSSなど)
「正しいユーザーか?」を検査するセキュリティゲート
⑤ ロードバランサー(Load Balancer)
複数あるWebアプリケーションサーバへ、アクセスの負荷を分散
たとえば3台ある場合、空いているサーバーにリクエストを振り分ける
サーバ障害時はヘルスチェックにより自動で切り離す
⑥ Webアプリケーションサーバ
ビジネスロジック(ログイン、計算、投稿処理など)を実行
必要に応じて、データをDBに問い合わせる
処理結果からHTMLやJSONレスポンスを生成して返す
⑦ DBサーバ(データベースサーバ)
永続的なデータ(ユーザー情報、商品データ、投稿など)を保存
Webアプリからのクエリ(SQL)に応じて必要な情報を返す
データ整合性やバックアップ、リードレプリカによる読み込み分散も行う
最後に
もっとわかりやすく書いてる記事を知ってる方は教えて下さい