6. 2. 何故Gearpumpが必要なのか?
• 信頼できる分析基盤として、下記要素が必要
① データは生成後すぐに利用可能である
② システムの永続化された状態は利用者のコードから
参照・ 更新可能で、一貫性のあるモデルを持つ
③ 厳密な順序は要求しない
④ Low Watermarkのシステム側での管理
⑤ スケールアウト時レイテンシーは変わらない
⑥ Exactly-Onceなレコード処理
5
MillWheel: Fault-Tolerant Stream Processing at Internet Scale
7. 3. Gearpumpの特長
• 下記のような特長を持つ。
① 高スループット
② 低レイテンシ
③ Global minimum-clockを常時管理
④ メッセージの処理信頼性設定可能
(At least once / exactly once)※但し条件あり
⑤ 高レベルAPIによる簡易な定義、
低レベルAPIによる詳細な制御のどちらも可能
⑥ 高拡張性
⑦ システムの動的再構成が可能で全体再起動不要
6
9. 4. Gearpumpの構成
• 耐障害性もakka clusterで維持
• 親Actorは子Actorの状態を確認し、自動復旧
• 一番Rootとなる親はakka cluster / CRDTで冗長化
8
WorkerWorkerWorker
Master
standb
y
Master
Standb
y
Master
State
Gossi
p
CRDT Data type example:
leader