Study「分散システムデザインパターン」

分散システムデザインパターンとありますが、分散システムに限らずシステムデザイン、ソフトウェアデザインの参考になります。

分散システム
デザインパターン
    書籍
        原題
            Designing Distributed Systems
            副題
                「Patterns and Paradigms for Scale, Reliable Service」
        副題
            「コンテナを使ったスケーラブルなサービスの設計」
        オライリー・ジャパン
        著者
            Brendan Burns
    1章
        「はじめに」
        Donald Knuth
            The Art of Computer Programming
                Algorithm
        gang of four
            オブジェクト指向における再利用のためのデザインパターン
        価値
            「巨人の肩の上に立つ」
            共通言語
    第I部
        シングルノードパターン
            理由
                オーナーシップ境界
                    リソースの分離
                関心の分離
                    separation of concerns
            アプリケーション
                分割
                    複数コンテナ
        2章
            サイドカー
            構成
                アプリケーションコンテナ
                    コアロジック
                サイドカーコンテナ
                    拡張
                    改善
                    モジュール化
                    再利用性
                    パラメータ化
            状態
                共有
        3章
            アンバサダ
                外部
                    仲介
            構成
                アプリケーションコンテナ
                アンバサダコンテナ
            価値
                モジュール化
                    再利用可能
                組合せ
                    自由
        4章
            アダプタ
                IF
                    吸収
            構成 
                アプリケーションコンテナ
                アダプタコンテナ
    memo
        RPS
            request per second
    第II部
        マルチノードパターン
        5章
            レプリカがロードバランスされたサービス
            水平方向
                スケーラブル
            全レプリカ
                要求受信
                処理実施
            信頼性向上
            冗長性実現
            ステートレス
            リクエスト数
                スケーラビリティ
        6章
            シャーディングされたサービス
            ステートフル
            データサイズ
                スケーラビリティ
        7章
            スキャッタ・ギャザー
                scatter/gather pattern
                木構造
            処理時間
                スケーラビリティ
                リクエスト処理
                    並列化
                    演算
                        シャーディング
        8章
            ファンクションとイベント駆動処理
            FaaS
                Function as a Service
            デコレータパターン
                リクエストまたはレスポンスの変換
        9章
            オーナーシップの選出
            役割割当
                スケーラビリティ
    第III部
        バッチ処理パターン
        10章
            ワークキューシステム
        11章
            イベント駆動バッチ処理
            ワークフローシステム
            コピア
                copier
            フィルタ
                filter
            スプリッタ
                splitter
            シャーダ
                sharder
            マージャ
                merger
            パブリッシャ・サブスクライバ
                publisher/subscriber
                Kafka
                Azure
                    EventFrid
                Amazon
                    Simple Queue Service
        12章
            協調的バッチ処理
            Reduceフェーズ
    13章
        まとめ:新しい始まり

memo

Posted by shi-n