cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Cassandra Wiki] Trivial Update of "ArchitectureGossip_JP" by mayah
Date Wed, 30 Jun 2010 06:28:17 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for change notification.

The "ArchitectureGossip_JP" page has been changed by mayah.
http://wiki.apache.org/cassandra/ArchitectureGossip_JP?action=diff&rev1=1&rev2=2

--------------------------------------------------

  
  == Gossiper の実装 ==
  
- ゴシップタイマータスクは、毎秒走ります。各タスクが走る間、ノードは次のルールに従ってゴシップの交換を行ないます。
+ ゴシップタイマータスクは、1秒ごとに走ります。各タスクが走る間、ノードは次のルールに従ってゴシップの交換を行ないます。
  
   1. (もしあれば) ランダムなエンドポイントにゴシップを伝えます。
   1. 到達できないノードと生きているノードの数に応じたある確率で、到達できないノードにゴシップを伝えます。
   1. もし、(1) でゴシップが送られたノードが seed でないか、生きているノード数が
seed の数を下回った場合、到達できないノードと生きているノードの数に応じたある確率で、ランダムな
seed のゴシップを伝えます。
  
- これらのルールは、もしネットワークが up した場合に全てのノードがそのうち他の全てのノードの状態を知ることができるように開発されました。(もちろん、もし各ノードが1つの
seed としかコンタクトせず、知っているノードにランダムにゴシップを伝えるような場合は、複数のシードがあると分割
-- すなわち、各 seed がクラスタ中のノードのサブセットのみを知っている
-- されることがあります。Step 3 はこのような状態や他の些細な問題を分けます。
+ これらのルールは、もしネットワークが up した場合に全てのノードがそのうち他の全てのノードの状態を知ることができるように開発されました。(もちろん、もし各ノードが1つの
seed としかコンタクトせず、知っているノードにランダムにゴシップを伝えるような場合は、複数のシードがあると分割
-- すなわち、各 seed がクラスタ中のノードのサブセットのみを知っている
-- されることがあります。Step 3 はこのような状態や他の些細な問題を避けます。
  
  このようにして、ノードはゴシップの交換を各ラウンドで1~3ノードとおこないます。(もしくは、クラスタ中に自分しかいなければゴシップの交換は行われません)
  
@@ -31, +31 @@

  HeartBeatState は、世代とバージョン番号からなっています。世代はサーバーが走っている間は同じ値を取り、ノードがスタートすると増えていきます。ノードがリスタートする前と跡を区別するために使われます。バージョン番号は、application
state とシェアされ、順序が保証されます。各ノードは1つの HeartBeatState
と関連付けられています。
  
  ==== ApplicationState ====
- Consists of state and version number and represents a state of single "component" or "element"
within Cassandra. For instance application state for "load information" could be (5.2, 45),
which means that node load is 5.2 at version 45. Similarly a node that is bootstrapping would
have "bootstrapping" application state: (bxLpassF3XD8Kyks, 56) where first one is bootstrap
token, and the second is version. Version number is shared by application states and HeartBeatState
to guarantee ordering and can only grow.
+ ApplicationState は、状態とバージョン番号からなっており、Cassandra 中の1つの
"component" もしくは "element" の状態を表します。例えば、"load information"
という application state は、(5.2, 45) という値になります。これは、node
load が 5.2 で、version が 45 であることを顕います。同様に、bootstrap 中のノードは、"bootstrapping"
という application state をもち、例えば (bxLpassF3XD8Kyks, 56) という値になります。初めの値は
bootstrap トークンで、2つめの値は version です。バージョン番号は、application
state と HeartBeatState で共有されており、順序が保証されています。値は増えることのみが許されます。
  
  ==== EndPointState ====
- Includes all ApplicationStates and HeartBeatState for certain endpoint (node). EndPointState
can include only one of each type of ApplicationState, so if EndPointState already includes,
say, load information, new load information will overwrite the old one. ApplicationState version
number guarantees that old value will not overwrite new one.
+ 
+ EndPointState は、ある エンドポイント(ノード) の ApplicationStates と HeartBeatState
をふくんでいます。EndPointState は各タイプの ApplicationState ごとに1つのみを持ちます。すなわち、もし
EndPointState がすでに load information を含んでいれば、新しい load information
で古い値は上書きされます。ApplicationState バージョン番号は、古い値で新しい値を上書きしないことを保証します。
  
  ==== endPointStateMap ====
- Internal structure in Gossiper that has EndPointState for all nodes (including itself) that
it has heard about.
+ 
+ endPointStateMap は、Gossiper の内部の構造で、(そのノードが知っている)
全てのノード (自分自身を含む) に関する EndPointState を含みます。
  
  == ゴシップの交換 ==
  === GossipDigestSynMessage ===

Mime
View raw message