今更ながら分散システムデザインパターン読んだ
この本は
- 原著は2018年、翻訳は2019年
- 著者のBurnsさんは、Google・MicrosoftでKubernetesの開発をしていた・している人
- 書名の通り、複数のノードで処理を行う場合の色々なパターンを解説している本
- また、副題(コンテナを使ったスケーラブルなサービスの設計)の通り、コンテナ・Kubernetesを例にした話が多い(が、それに限定されない)
内容
- スケーラブル、疎結合にするため分散システム増えたよね
- パターンを知っておくと良いよ
- 巨人の肩の上に立つ
- 議論のための共通言語
- 再利用できるコンポーネント
- 各パターン(12個?)の紹介。各パターンに関して、おおよそ以下の記載
- 概要
- 使用する例
- ハンズオン(Kubernetesの上でnginxやConsul等)
紹介されているパターン
- サイドカー
- アダプタ(外部からのインターフェイス)
- アンバサダ(外部へのインターフェイス。プロキシ?)
- キャッシュ
- シャーディング
- スキャッタ
- ギャザー
- FaaS
- オーナーシップ(ロックやマスタの選出の話)
- ワークキュー
- イベント駆動処理(ワークフロー)
- 協調的バッチ処理(MapReduceのReduce)