分散システムのためのデザインパターン

個数:
電子版価格
¥5,280
  • 電子版あり

分散システムのためのデザインパターン

  • 在庫が僅少です。通常、3~7日後に出荷されます
    ※事情により出荷が遅れたり、在庫切れとなる場合もございます。
    ※他のご注文品がすべて揃ってからの発送が原則となります(ご予約品を除く)。
    ※複数冊ご注文はお受けできません。
  • 出荷予定日とご注意事項
    ※上記を必ずご確認ください

    【出荷予定日】
    ■通常、3~7日後に出荷されます

    【ご注意事項】 ※必ずお読みください
    ◆在庫状況は刻々と変化しており、ご注文手続き中やご注文後に在庫切れとなることがございます。
    ◆出荷予定日は確定ではなく、表示よりも出荷が遅れる場合が一部にございます。
    ◆お届け日のご指定は承っておりません。
    ◆「帯」はお付けできない場合がございます。
    ◆画像の表紙や帯等は実物とは異なる場合があります。
    ◆特に表記のない限り特典はありません。
    ◆別冊解答などの付属品はお付けできない場合がございます。
  • ●3Dセキュア導入とクレジットカードによるお支払いについて
    ●店舗受取サービス(送料無料)もご利用いただけます。
    ご注文ステップ「お届け先情報設定」にてお受け取り店をご指定ください。尚、受取店舗限定の特典はお付けできません。詳細はこちら
  • サイズ A5判/ページ数 432p/高さ 21cm
  • 商品コード 9784621311523
  • NDC分類 007.61
  • Cコード C3055

出版社内容情報

 さまざまな製品やサービスの内部で何が起こっているのかをよく理解し,説明の行き届いた効果的な選択を行いたい実務専門家にお薦めの書.

 本書の前半では,分散システム設計の重要なトピックをカバー.分散システム設計における課題とその解決策を提示.後半では,詳細なソリューション(解決策)をパターンとして構造化し記載.
 パターンは,レプリケーション,パーティショニング,クラスタ管理,ネットワーク通信の四つのおもなカテゴリに分類.前半の概説の章を読まれた上で,興味や要件に基づいてパターンを探索されたい.

 なお,さまざまな製品で採用されている設計の代替案に関する参考文献を多数提示.また,ほとんどのパターンには,Javaのコードを例示.最小限のJava 言語機能(メソッドとクラスが大部分)を使用しており,たいていのプログラミング言語で利用可能.

分散システム設計を深く理解し,一般的な問題を解決する方法を学べる書.パターンのアプローチにより実装の側面をわかりやすく説明.

分散システム設計をより深く理解し,一般的な問題を解決する方法を学ぶことができる書.

本書の特長:

 ・ 分散システムとは何か,なぜ必要なのかがわかる
 ・ データベース,インメモリデータグリッド,メッセージブローカーなど幅広いシステムの実装を理解できる
 ・ オープンソースのコードベースを自信をもって探索し,パターンやソリューションが実世界のシステムにどのようにマッピングされているかを発見できるようになる


【目次】

第I部 Narratives
Chapter 1 分散システムの可能性とその課題
単一サーバーでの限界 / ビジネスのロジックとデータの階層を分離する / データの分割 / 障害の様相/ レプリケーション(多重化):隠ぺい時の障害≪ プロセスクラッシュ / ネットワークの遅延 / プロセスの停止 / 非同期クロック≫ / “分散システム”の定義 / “パターン”によるアプローチ
Chapter 2 パターンの概要
単一サーバーにおけるデータの保全 / 更新の競合 / リーダー障害への対処 / 複数の障害に対しては‘世代クロック’による対処が必要 / ログエントリーは‘多数決クォーラム’において承認されるまでコミットされない / ‘ハイウォーターマーク’に基づくフォロワーのコミット / リーダーが複数のクライアントに対応するために一連の待ち行列を利用する / フォロアーが‘読出しリクエスト’を扱うことでリーダーにおける負荷を軽減できる / 大容量データは複数ノードに分割することができる / 耐性を得るためにパーティションの複製を行う / 分割された領域の整合性を保つためには少なくとも2相ロックは不可欠 / 分散システムにおいて順序関係はシステムのタイムスタンプには依存しない / ‘一貫性コア’はデータクラスタにおけるメンバーシップの管理を実施できる / 非中心型のクラスタ管理における‘ゴシップ伝播’

第II 部 データレプリケーションのパターン
Chapter 3 書込み先行ログ(Write-Ahead Log)
解決すべき課題 / 解決策≪実装に際しての検討事項 / トランザクショナル記憶での使用 / イベントの源泉を比較する≫ / 実装例
Chapter 4 セグメント化ログ(Segmented Log)
解決すべき課題 / 解決策 / 実装例
Chapter 5 低位ウォーターマーク(Low-Water Mark)
解決すべき課題 / 解決策≪スナップショットベースの‘低位ウォーターマーク’/ 時刻ベースの‘低位ウォーターマーク’≫ / 実装例
Chapter 6 リーダーとフォロワー(Leader and Followers)
解決すべき課題 / 解決策≪リーダーの選出[選挙アルゴリズム /‘一貫性コア’を使用したリーダー選挙]/ なぜクォーラムリード/ライトだけでは強力な一貫性保証に不十分なのか;並行性,ロック,状態更新;ZabとRaft≫/ 実装例
Chapter 7 ハートビート(HeartBeat)
解決すべき課題 / 解決策 ≪小規模クラスタ:同意ベースのシステム / 技術上の検討事項 / 大規模クラスタ:ゴシップベースプロトコル≫/ 実装例
Chapter 8 多数決クォーラム(Majority Quorum)
解決すべき課題≪安全性と活性≫ / 解決策≪クラスタ内のサーバー数の決定 / 柔軟なクォーラム≫/ 実

目次

第1部 Narratives
第2部 データレプリケーションのパターン
第3部 データ分割と複製のためのパターン
第4部 分散時刻に関するパターン
第5部 クラスタ管理のためのパターン
第6部 ノード間の通信に関するパターン

著者等紹介

藤井章博[フジイアキヒロ]
現職、法政大学理工学部応用情報工学科教授。岐阜県出身。東北大学大学院工学研究科博士課程単位取得。東京大学大学院工学系研究科学際先端工学博士課程単位取得、博士(工学)。東北大学大学院情報科学研究科助手、宮城大学准教授、文部科学省科学技術学術政策研究所主任研究官を経て、現職。(社)日本平和学研究所理事、コンピュータシステム開発(株)取締役。(社)サイバーディフェンスイノベーション機構理事長。データ分析の研究に従事(本データはこの書籍が刊行された当時に掲載されていたものです)
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。

最近チェックした商品