内容説明
※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。
分散システム設計を深く理解し、一般的な問題を解決する方法を学べる書。パターンのアプローチにより実装の側面をわかりやすく説明する。本書の前半では、分散システム設計の重要なトピックをカバー。分散システム設計における課題とその解決策を提示。後半では、詳細なソリューション(解決策)をパターンとして構造化し記載。パターンは、レプリケーション、パーティショニング、クラスタ管理、ネットワーク通信の四つのおもなカテゴリに分類。さまざまな製品で採用されている設計の代替案に関する参考文献を多数提示。ほとんどのパターンには、Javaのコードを例示。最小限のJava 言語機能(メソッドとクラスが大部分)を使用しており、たいていのプログラミング言語で利用可能。さまざまな製品やサービスの内部で何が起こっているのかをよく理解し、説明の行き届いた効果的な選択を行いたい実務専門家にお薦め。
目次
第I部 Narratives
Chapter 1 分散システムの可能性とその課題
Chapter 2 パターンの概要
第II 部 データレプリケーションのパターン
Chapter 3 書込み先行ログ(Write-Ahead Log:WAL)
Chapter 4 セグメント化ログ(Segmented Log)
Chapter 5 低位電子透かし(Low-Water Mark)
Chapter 6 リーダーとフォロワー(Leader and Followers)
Chapter 7 ハートビート(HeartBeat)
Chapter 8 多数決クォーラム(Majority Quorum)
Chapter 9 世代クロック(Generation Clock)
Chapter 10 ハイウォーターマーク(High-Water Mark)
Chapter 11 Paxos
Chapter 12 複製ログ(Replicated Log)
Chapter 13 単一更新待ち行列(Singular Update Queue)
Chapter 14 リクエスト待機リスト(Request Waiting List)
Chapter 15 べき等レシーバー(Idempotent Receiver)
Chapter 16 フォロワーによる読出し(Follower Reads)
Chapter 17 バージョン管理された値(Versioned Value)
Chapter 18 バージョンベクトル(Version Vector)
第III部 データ分割と複製のためのパターン
Chapter 19 固定パーティション(Fixed Partitions)
Chapter 20 キーレンジの分割(Key-Range Partitions)
Chapter 21 2相コミット(Two-Phase Commit)
Chapter 22 Lamport クロック(Lamport Clock)
Chapter 23 ハイブリッドクロック(Hybrid Clock)
Chapter 24 クロックバウンド待機(Clock-Bound Wait)
Chapter 25 一 貫 性 コ ア(Consistent Core)
Chapter 26 リース(Lease)
Chapter 27 状態時計(State Watch)
Chapter 28 ゴシップ伝播(Gossip Dissemination)
Chapter 29 緊急時リーダー(Emergent Leader)
第VI部 ノード間の通信に関するパターン
Chapter 30 単一ソケットチャネル(Single-Socket Channel)
Chapter 31 リクエストバッチ(Request Batch)
Chapter 32 リクエストパイプライン(Request Pipeline)



