(wip)サーバ/インフラを支える技術の読書メモ
サーバ/インフラを支える技術を読んだメモ
前提用語メモ
- Deamon
- バックグラウンドで動き続け、仕事をするやつ
- httpd /bind
フェイルオーバ
- 冗長化されたシステムにおいて、Activeなノードが停止した際に自動的にBackupノードに切り替わること
フェイルバック
- Activeなノードがフェイルオーバした状態からもとに戻ること
- メモリファイルシステム
- ハードディスク上などの永続化した記憶装置でなく、メモリ上につくったファイルシステム
- メモリ上にあるので再起動の際にデータなくなる、読み書きがはやい
- ラウンドロビン
- レイテンシ
- ネットワークでデータが届くまでの時間
- ロードバランサ
- クライアントとサーバの間に位置
- クライアントからのリクエストをバックエンドに適宜分散
- 複数のサーバをまとめて、1つの仮想的なサーバに見立てる
冗長化について
まとめ
- イメージがふわっとしていたが、ロードバランサはリクエストを振り分ける仮想サーバ
- 後ろにあるサーバ達を隠蔽してくれる頭いい
メモ
- コールドスタンバイ
- 基本は使用せず、現用機が故障したら接続
- ホットスタンバイ
- 現用機と同じ環境を常に保持
- 即座に切り替え
- ポート監視
- レイヤ4
- TCP接続でダウン検知
- サービス監視
- レイヤ7
- HTTP接続でダウン監視
- ホットスタンバイ・コールドスタンバイなどは予備機が基本稼働しないので、もったりない
- 両方のサーバを使ってサービス提供したい
- サイト性能は倍に
- DNSラウンドロビン
- DNSを用いて1つのサービスを複数台のサーバに
- サーバの数だけグローバルアドレス
- 負荷などに応じて柔軟な対応ができない
- DNSを用いて1つのサービスを複数台のサーバに
- ロードバランサ
リバースプロキシ
- webサーバとロードバランサの間に入るもの
- クライアント → ロードバランサ → リバースプロキシ → webサーバ
- → リバースプロキシ → ロードバランサ→ ロードバランサ → クライアント
- メリット
- HTTPリクエストに応じたシステムの制御
- システム全体のメモリ効率化
リバースプロキシによるメモリ効率化
- 動的コンテンツ配信webサーバは(APサーバ)起動時のオーバーヘッドが大きい
- そのためメモリに常駐している
- 一度起動すれば早い
- そのため大量のメモリを食う
- APサーバは1リクエストに対して1プロセス or 1スレッドなケースが多い
- APサーバ内で静的コンテンツ / 動的コンテンツも同様にメモリを食う
- 静的コンテンツはコンテンツ配信用のサーバに分けたほうがAPサーバの負荷軽減になる
メモ
- 自分自身結構APサーバで静的コンテンツ配信しがち。リバースプロキシとか上のレイヤーでよしなにやっていったほうがスマート感あるのでやってきたい