Gossip とステータス
株式会社ムロドー
とみたかずたか
全回アジェンダ
• cassandra を複数で立ち上げる
• コンシステンシーレベルとは
• ゴシッププロトコル?
• 複数ノードで異なる設定
• 巨大なデータを入れてみる
• ノードのスプリットブレイン
アジェンダ
• Gossip とステータス
▫ 相互認知
▫ うわさ話は広まる。
相互認知
• お互いにうわさ話を伝達し合い相互の状態を交換する。
起動時にうわさ話の相手を探し出し、一秒間に 1 回うわさ話を交換する。
ゴシップタイマーは以下の基準でゴシップ交換を行います。
1. 各ノードはエンドポイントの中からランダムに生きているノードに
。
2. 生死不明のノードと生きているノードの数に応じたある確立に立脚
した生死不明のノードに。
3. 最初にゴシップされたノードがシードではなく、生きているノード
がシードより少なければ、ランダムにシードに
相互認知
• うわさ話のデータ構造
ハートビートステータス
アプリケーションステータス
エンドポイントステータス
エンドポイントマップ
うわさ話は広まる。
• 11 台の Cassandra を用意
・順次起動を行う。
・毎秒各ノードのローカルで ring を取得。
・全部起動後一台の Cassandra のデーモンを停止。
うわさ話は広まる。
• 11 台の Cassandra を用意
・順次起動を行う。
・毎秒各ノードのローカルで ring を取得。
・全部起動後一台の Cassandra のデーモンを停止。
Address Status Load Range Ring 154848397039206420025253828869072097206 10.160.19.17 Up 0 bytes 16233712785237779474317884890459943600 |<--| 10.166.7.202 Up 971 bytes 26209662872608839952322398770293840010 | ^ 10.160.18.127 Up 0 bytes 37980874118278123559356904456331452729 v | 10.160.19.192 Up 0 bytes 70428202551332046306305766012239709631 | ^ 10.161.94.250 Up 0 bytes 103073197975427857848177366324962919490 v | 10.160.18.229 Up 0 bytes 105025460902238871815347256082898441127 | ^ 10.160.22.239 Up 0 bytes 113495033977435693885626996292187123925 v | 10.160.18.244 Up 0 bytes 118682539159987207405470187288217431827 | ^ 10.160.19.134 Up 0 bytes 119805869096797728252376746596920614273 v | 10.166.7.172 Up 0 bytes 125402111270313743814417925510657888969 | ^ 10.160.17.115 Up 0 bytes 154848397039206420025253828869072097206 |-->|
うわさ話は広まる。
• 結果
・10台程度で結構ずれが出る。
184-72-2-166 184-72-2-179 184-72-2-6 184-72-2-46 184-72-2-153 184-72-2-146 184-72-2-84 184-72-2-17 184-72-2-139 184-72-2-67 1 12:49:41
2 12:50:07
3 12:51:49 12:51:54
4 12:53:21 12:53:22 12:53:29
5 12:55:07 12:55:06 12:55:08 12:55:15
6 12:57:12 12:57:11 12:57:11 12:57:11 12:57:13
7 12:59:07 12:59:05 12:59:06 12:59:09 12:59:08 12:59:17
8 13:01:05 13:01:03 13:01:05 13:01:04 13:01:05 13:01:03 13:01:09
9 13:02:34 13:02:35 13:02:33 13:02:34 13:02:36 13:02:33 13:02:35 13:08:49
10 13:09:05 13:09:03 13:09:04 13:09:03 13:09:04 13:09:03 13:09:03 13:09:04 13:09:02
11 13:10:43 13:10:43 13:10:43 13:10:43 13:10:43 13:10:43 13:10:44 13:10:42 13:10:43 13:12:52 DOWN 13:13:54 13:13:54 13:13:55 13:13:53 13:13:54 13:13:53 13:13:55 - 13:13:55 13:13:50