【ごしっぷぷろとこる】
ゴシッププロトコル とは?
最終更新:
💡 少数の相手との交換を重ね、情報を広げる
各ノードが選んだ相手と繰り返し情報を交換し、噂話のように全体へ広げる分散通信方式。相手をランダムに選ぶ方式が多い。到達の速さや確実さは、交換の規則や通信状態などに左右される。
📌 このページのポイント
- 各ノードが相手を選んで情報を交換し、その繰り返しで伝播させる
- ランダムな相手選びや再交換で、一部の故障や通信損失に対処する
- メンバー情報や障害検知の材料、状態の同期などに利用される
- 分断や高負荷では遅延・未到達があり、即時の全員一致を保証する方式ではない
ゴシップって、噂話と何の関係があるの?
一つの送信元が全員へ直接配る代わりに、ノード同士の交換を繰り返して情報を広げるイメージだよ。ランダムに相手を選ぶ方式が多く、受け取った側もさらに別の相手へ伝えるんだ。
中央の管理者はいらない?
情報を配る仕事を各ノードへ分散できるよ。ただし参加する相手を見つける仕組みや設定は必要。たとえばCassandraでは、最初の接続などにシードノードを使う。分散方式だから運用上の設定が全て不要、という意味ではないね。
一つのノードが壊れても大丈夫?
ほかの経路や再交換を使って、届く可能性を高められるよ。でも通信が分断されたままなら、離れた側へは届かない。情報量が多く、通信や処理が追い付かない場合も遅れる。無条件の全員到達や時間の保証ではないんだ。
どんなシステムで使うの?
全員が同じ情報なら、合意もできている?
情報を広げることと、一つの値や順序に合意することは別だよ。途中では古い情報と新しい情報が混在するので、版の比較や競合の扱いを決める。受け渡し、照合、再交換の規則を組み合わせて設計するんだ。
まとめ:ざっくりこれだけ覚えればOK!
「ゴシッププロトコル」って出てきたら「ノード同士の情報交換を繰り返して、噂話のように広げる仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Gossip Protocol」 = 噂話プロトコル
💬 gossipは英語で噂話のこと。人から人へ話が広がるように、ノード間で情報を伝える方式を表す言葉だよ