Skip to content

ネットワーク用語

定義: CDNは、コンテンツを地理的に分散したサーバーに配置し、ユーザーに近いサーバーから配信するネットワークです。

なぜ重要なのか:

  • 配信速度の向上: ユーザーに近いサーバーから配信されるため、速度が向上する
  • サーバー負荷の分散: オリジンサーバーの負荷が軽減される
  • 可用性の向上: サーバー障害の影響を最小限に抑えられる

使用例:

<!-- CDNからライブラリを読み込む -->
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script>

関連用語:

  • キャッシュ
  • オリジンサーバー
  • エッジサーバー

定義: ロードバランサーは、複数のサーバーにリクエストを分散する仕組みです。

なぜ重要なのか:

  • 負荷分散: サーバーの負荷が分散される
  • 可用性の向上: サーバー障害時もサービスを継続できる
  • スケーラビリティ: サーバーを追加することでスケールできる

ロードバランシングアルゴリズム:

  • ラウンドロビン: 順番にリクエストを振り分ける
  • 最小接続数: 接続数が最も少ないサーバーに振り分ける
  • 重み付きラウンドロビン: サーバーの性能に応じて重みを付ける

関連用語:

  • 可用性
  • スケーラビリティ
  • ヘルスチェック

定義: API Gatewayは、複数のマイクロサービスへのリクエストを統合管理するゲートウェイです。

なぜ重要なのか:

  • 統一されたエントリーポイント: 1つのエンドポイントで複数のサービスにアクセスできる
  • 認証と認可: 認証と認可を一元管理できる
  • レート制限: レート制限を一元管理できる

使用例:

// API Gateway経由でアクセス
GET /api/users → User Service
GET /api/orders → Order Service
GET /api/payments → Payment Service

関連用語:

  • マイクロサービス
  • リバースプロキシ
  • サービスディスカバリ

定義: リバースプロキシは、クライアントからのリクエストをバックエンドサーバーに転送するプロキシサーバーです。

なぜ重要なのか:

  • 負荷分散: 複数のサーバーにリクエストを分散できる
  • セキュリティ: バックエンドサーバーを直接公開しない
  • キャッシング: レスポンスをキャッシュできる

使用例:

# Nginxの設定例
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend;
}
}

関連用語:

  • ロードバランサー
  • プロキシ
  • フォワードプロキシ