C# 클래스 Akka.Cluster.Gossip

Represents the state of the cluster; cluster ring membership, ring convergence - all versioned by a vector clock. When a node is joining the `Member`, with status `Joining`, is added to `members`. If the joining node was downed it is moved from `overview.unreachable` (status `Down`) to `members` (status `Joining`). It cannot rejoin if not first downed. When convergence is reached the leader change status of `members` from `Joining` to `Up`. When failure detector consider a node as unavailable it will be moved from `members` to `overview.unreachable`. When a node is downed, either manually or automatically, its status is changed to `Down`. It is also removed from `overview.seen` table. The node will reside as `Down` in the `overview.unreachable` set until joining again and it will then go through the normal joining procedure. When a `Gossip` is received the version (vector clock) is used to determine if the received `Gossip` is newer or older than the current local `Gossip`. The received `Gossip` and local `Gossip` is merged in case of conflicting version, i.e. vector clocks without same history. When a node is told by the user to leave the cluster the leader will move it to `Leaving` and then rebalance and repartition the cluster and start hand-off by migrating the actors from the leaving node to the new partitions. Once this process is complete the leader will move the node to the `Exiting` state and once a convergence is complete move the node to `Removed` by removing it from the `members` set and sending a `Removed` command to the removed node telling it to shut itself down.
파일 보기 프로젝트 열기: rogeralsing/akka.net 1 사용 예제들

공개 프로퍼티들

프로퍼티 타입 설명
ConvergenceSkipUnreachableWithMemberStatus ImmutableHashSet
Empty Gossip
EmptyMembers ImmutableSortedSet
RemoveUnreachableWithMemberStatus ImmutableHashSet

공개 메소드들

메소드 설명
AddMember ( Member member ) : Gossip

Adds a member to the member node ring.

Convergence ( UniqueAddress selfUniqueAddress ) : bool
Copy ( ImmutableSortedSet members = null, GossipOverview overview = null, VectorClock version = null ) : Gossip
Create ( ImmutableSortedSet members ) : Gossip
GetMember ( UniqueAddress node ) : Member
Gossip ( ImmutableSortedSet members ) : System
Gossip ( ImmutableSortedSet members, GossipOverview overview ) : System
Gossip ( ImmutableSortedSet members, GossipOverview overview, VectorClock version ) : System
HasMember ( UniqueAddress node ) : bool
Increment ( VectorClock node ) : Gossip

Increments the version for this 'Node'.

IsLeader ( UniqueAddress node, UniqueAddress selfUniqueAddress ) : bool
Leader ( UniqueAddress selfUniqueAddress ) : UniqueAddress
Merge ( Gossip that ) : Gossip
MergeSeen ( Gossip that ) : Gossip
OnlySeen ( UniqueAddress node ) : Gossip

Marks the gossip as seen by only this node (address) by replacing the 'gossip.overview.seen'

RoleLeader ( string role, UniqueAddress selfUniqueAddress ) : UniqueAddress
Seen ( UniqueAddress node ) : Gossip

Marks the gossip as seen by this node (address) by updating the address entry in the 'gossip.overview.seen'

SeenByNode ( UniqueAddress node ) : bool

Has this Gossip been seen by this node.

ToString ( ) : string

비공개 메소드들

메소드 설명
AssertInvariants ( ) : void
LeaderOf ( ImmutableSortedSet mbrs, UniqueAddress selfUniqueAddress ) : UniqueAddress

메소드 상세

AddMember() 공개 메소드

Adds a member to the member node ring.
public AddMember ( Member member ) : Gossip
member Member
리턴 Gossip

Convergence() 공개 메소드

public Convergence ( UniqueAddress selfUniqueAddress ) : bool
selfUniqueAddress UniqueAddress
리턴 bool

Copy() 공개 메소드

public Copy ( ImmutableSortedSet members = null, GossipOverview overview = null, VectorClock version = null ) : Gossip
members ImmutableSortedSet
overview GossipOverview
version VectorClock
리턴 Gossip

Create() 공개 정적인 메소드

public static Create ( ImmutableSortedSet members ) : Gossip
members ImmutableSortedSet
리턴 Gossip

GetMember() 공개 메소드

public GetMember ( UniqueAddress node ) : Member
node UniqueAddress
리턴 Member

Gossip() 공개 메소드

public Gossip ( ImmutableSortedSet members ) : System
members ImmutableSortedSet
리턴 System

Gossip() 공개 메소드

public Gossip ( ImmutableSortedSet members, GossipOverview overview ) : System
members ImmutableSortedSet
overview GossipOverview
리턴 System

Gossip() 공개 메소드

public Gossip ( ImmutableSortedSet members, GossipOverview overview, VectorClock version ) : System
members ImmutableSortedSet
overview GossipOverview
version VectorClock
리턴 System

HasMember() 공개 메소드

public HasMember ( UniqueAddress node ) : bool
node UniqueAddress
리턴 bool

Increment() 공개 메소드

Increments the version for this 'Node'.
public Increment ( VectorClock node ) : Gossip
node VectorClock
리턴 Gossip

IsLeader() 공개 메소드

public IsLeader ( UniqueAddress node, UniqueAddress selfUniqueAddress ) : bool
node UniqueAddress
selfUniqueAddress UniqueAddress
리턴 bool

Leader() 공개 메소드

public Leader ( UniqueAddress selfUniqueAddress ) : UniqueAddress
selfUniqueAddress UniqueAddress
리턴 UniqueAddress

Merge() 공개 메소드

public Merge ( Gossip that ) : Gossip
that Gossip
리턴 Gossip

MergeSeen() 공개 메소드

public MergeSeen ( Gossip that ) : Gossip
that Gossip
리턴 Gossip

OnlySeen() 공개 메소드

Marks the gossip as seen by only this node (address) by replacing the 'gossip.overview.seen'
public OnlySeen ( UniqueAddress node ) : Gossip
node UniqueAddress
리턴 Gossip

RoleLeader() 공개 메소드

public RoleLeader ( string role, UniqueAddress selfUniqueAddress ) : UniqueAddress
role string
selfUniqueAddress UniqueAddress
리턴 UniqueAddress

Seen() 공개 메소드

Marks the gossip as seen by this node (address) by updating the address entry in the 'gossip.overview.seen'
public Seen ( UniqueAddress node ) : Gossip
node UniqueAddress
리턴 Gossip

SeenByNode() 공개 메소드

Has this Gossip been seen by this node.
public SeenByNode ( UniqueAddress node ) : bool
node UniqueAddress
리턴 bool

ToString() 공개 메소드

public ToString ( ) : string
리턴 string

프로퍼티 상세

ConvergenceSkipUnreachableWithMemberStatus 공개적으로 정적으로 프로퍼티

public static ImmutableHashSet ConvergenceSkipUnreachableWithMemberStatus
리턴 ImmutableHashSet

Empty 공개적으로 정적으로 프로퍼티

public static Gossip,Akka.Cluster Empty
리턴 Gossip

EmptyMembers 공개적으로 정적으로 프로퍼티

public static ImmutableSortedSet EmptyMembers
리턴 ImmutableSortedSet

RemoveUnreachableWithMemberStatus 공개적으로 정적으로 프로퍼티

public static ImmutableHashSet RemoveUnreachableWithMemberStatus
리턴 ImmutableHashSet