サービス別の構成例 — 同じ部品の組み合わせ方

初級の解説は準備中のため、初級の内容を表示しています。

概要 — まず全体をつかむ

ここまでの部品(フロント・API・バック・DB・キャッシュ・ストレージ・キュー・CDN)を、実際のサービスに当てはめてみましょう。どれも同じ部品の組み合わせ方が違うだけです。

詳細 — 1段階ずつ追う

例1: SNS・チャット

  1. 投稿する → フロントAPIバックDBに保存
  2. 添付の画像は → ストレージに保存(DBにはURLだけ)
  3. タイムラインは何度も見られる → キャッシュに載せてDB往復を減らす
  4. 「いいね通知」など → すぐ返さなくていいのでキューで後処理
  5. アイコン・CSS・JS → CDNで近くから配信

例2: ネットショップ

  1. 商品ページ(みんな同じ)→ CDN・キャッシュで高速化
  2. 在庫・注文・会員 → DBで正しく管理
  3. 支払い → 自前で持たず、外部の決済APIに委ねる
  4. 注文確定後のメール送信・集計 → キューで後回し

どのサービスも同じ発想

  • 読み(見る)が多い → キャッシュ・CDN で軽くする
  • 書き(変える)の正しさが大事 → DB とトランザクション
  • 重い処理・急な増加 → キューで後回し、サーバを増やす

サービスの性質で「どの部品を厚くするか」が変わるだけ、と分かると、初めて見る構成図も読めるようになります。

⚠️ サービス特有のボトルネック

  • 動画配信 — ストレージと配信(CDN)、変換処理(キュー)が主役で重い
  • SNS — 大量のタイムライン生成が重い(キャッシュ設計が肝)
  • ネットショップ — 在庫の同時購入など、正しさ(整合性)が難所

理解度チェック

そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。

1. いろいろなWebサービスの構成に共通しているのは?

2. 画像や動画が主役のサービスで、特に重くなるのは?

3. SNSで投稿に付けた画像は、ふつうどこに保存する?

4. 「いいね通知」や集計など、すぐに返さなくてよい重い処理はどう扱うのがよい?

5. ネットショップの支払い処理は、ふつうどうするのがよい?

6. みんなが見る同じ商品ページを速く返すために厚くするのはどれ?

7. アイコン・CSS・JSなどを、世界中の利用者の近くから速く配る仕組みを英字3文字で何と呼ぶ?

8. 在庫や注文のように「書きの正しさ」が大事なとき、DBでまとめて成功か失敗かを保証する仕組みを何と呼ぶ?