More Related Content
PDF
PDF
PDF
PDF
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話 PDF
PDF
PDF
PDF
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発 What's hot (20)
PDF
PDF
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル) PDF
PDF
PDF
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版) PPTX
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料) PDF
PDF
PPTX
PPTX
PPTX
今こそ知りたいSpring Batch(Spring Fest 2020講演資料) PDF
そんなトランザクションマネージャで大丈夫か? PDF
PDF
PDF
PDF
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 - PDF
PPTX
PDF
Viewers also liked (14)
PPTX
S3をDB利用 ショッピングセンター向けポイントシステム概要 PPTX
AWS活用のいままでとこれから -東急ハンズの事例- PPTX
CQRS+ESをAkka Persistenceを使って実装してみる。 PDF
PDF
From ActiveRecord to EventSourcing PPTX
JAWS FESTA Kyusyu LT_ハンズラボ青木由佳 PDF
Jaws festa 2015 <40歳の開発のpmが未経験でインフラエンジニアになってみて> PDF
JAWSFESTAKyusyu_JAWSで学べることってなぁに_ゆかりんあゆゆ_20151103 PDF
[DO07] マイクロサービスに必要な技術要素はすべて Spring Cloud にある PDF
SharePoint Online Communication Sites お手軽サイト作成 PDF
[AC05] マイクロサービスは分割がキモ!基幹システムのためのドメイン駆動設計 PDF
PPTX
PDF
マイクロサービス化設計入門 - AWS Dev Day Tokyo 2017 イベント・ソーシングを知る
- 3. 例: 本のレンタルサービス
1. ユーザが本を登録する
2. 本はユーザなら誰でも借りられる
3. 本を借りた人が本を返す
4. 本がまた借りられるようになる(2に戻る)
- 5. たぶんこうなる
本テーブル的なもの
タイトル 貸し出し
ONE PIECE
NARUTO
- 9. たぶんこうなる
1. スタンが「HUNTER×HUNTER」を登録
2. カイルが「HUNTER×HUNTER」を借りる
3. カイルが「HUNTER×HUNTER」を返す
4. ケニーが「HUNTER×HUNTER」を借りる
タイトル 貸し出し
ONE PIECE
NARUTO
HUNTER×HUNTER ケニーが借り出し中
- 11. ステート・ソーシング
• 従来の一般的な考え方
• ステート=状態
• 状態中心のソフトウェア設計
• あらゆる情報は状態が永続化される
• 最新の状態を常に記憶しておくのが一般
的
- 17. ほんとにそのまま記録します
1. スタンが「HUNTER×HUNTER」を登録
2. カイルが「HUNTER×HUNTER」を借りる
3. カイルが「HUNTER×HUNTER」を返す
4. ケニーが「HUNTER×HUNTER」を借りる
このままです
タイトル 貸し出し
ONE PIECE
NARUTO
HUNTER×HUNTER ケニーが借り出し中
- 20. イベントを再生する順番に辿ります
1. スタンが「HUNTER×HUNTER」を登録
2. カイルが「HUNTER×HUNTER」を借りる
3. カイルが「HUNTER×HUNTER」を返す
4. ケニーが「HUNTER×HUNTER」を借りる
記録されているイベン
タイトル 貸し出し ト
ONE PIECE
NARUTO
- 21. イベントを再生する
1. スタンが「HUNTER×HUNTER」を登録
2. カイルが「HUNTER×HUNTER」を借りる
3. カイルが「HUNTER×HUNTER」を返す
4. ケニーが「HUNTER×HUNTER」を借りる
タイトル 貸し出し
ONE PIECE
NARUTO
HUNTER×HUNTER
- 22. イベントを再生する
1. スタンが「HUNTER×HUNTER」を登録
2. カイルが「HUNTER×HUNTER」を借りる
3. カイルが「HUNTER×HUNTER」を返す
4. ケニーが「HUNTER×HUNTER」を借りる
タイトル 貸し出し
ONE PIECE
NARUTO
HUNTER×HUNTER カイルが借り出し中
- 23. イベントを再生する
1. スタンが「HUNTER×HUNTER」を登録
2. カイルが「HUNTER×HUNTER」を借りる
3. カイルが「HUNTER×HUNTER」を返す
4. ケニーが「HUNTER×HUNTER」を借りる
タイトル 貸し出し
ONE PIECE
NARUTO
HUNTER×HUNTER
- 24. イベントを再生する
1. スタンが「HUNTER×HUNTER」を登録
2. カイルが「HUNTER×HUNTER」を借りる
3. カイルが「HUNTER×HUNTER」を返す
4. ケニーが「HUNTER×HUNTER」を借りる
タイトル 貸し出し
ONE PIECE
NARUTO
HUNTER×HUNTER ケニーが借り出し中
- 25. イベントを再生する
1. スタンが「HUNTER×HUNTER」を登録
2. カイルが「HUNTER×HUNTER」を借りる
3. カイルが「HUNTER×HUNTER」を返す
4. ケニーが「HUNTER×HUNTER」を借りる
最新の状態が再現
タイトル 貸し出し
ONE PIECE
NARUTO
HUNTER×HUNTER ケニーが借り出し中
- 26. イベント・ソーシングのすごいと
ころ
• ソフトウェアの完全な履歴が手に入る
• ソフトウェアの任意の部分あるいは全体
を「ある時点」に簡単に再現できる
• 有用な設計と相性が良い
– ドメイン駆動設計(DDD)
– コマンドクエリ責務分離(CQRS)
- 33. 参考
• Greg Young流CQRS - Mark Nijhof
• Why Event Sourcing?
• Event Sourcing and CQRS, Let's use it.
• state ソーシング、 event ソーシング 【ス
タイルの選択肢】
• event とメッセージング 【きっと、良い
パターン】