C# Класс Akka.Routing.ConsistentHashingRoutingLogic

This class contains logic used by a Router to route a message to a Routee determined using consistent-hashing. This process has the router select a routee based on a message's consistent hash key. There are 3 ways to define the key, which can be used individually or combined to form the key. The ConsistentHashMapping is tried first.
  1. You can define a ConsistentHashMapping or use WithHashMapping of the router to map incoming messages to their consistent hash key. This makes the decision transparent for the sender.
  2. Messages may implement IConsistentHashable. The hash key is part of the message and it's convenient to define it together with the message definition.
  3. The message can be wrapped in a ConsistentHashableEnvelope to define what data to use for the consistent hash key. The sender knows what key to use.
Наследование: RoutingLogic
Показать файл Открыть проект

Открытые методы

Метод Описание
ConsistentHashingRoutingLogic ( ActorSystem system ) : System

Initializes a new instance of the ConsistentHashingRoutingLogic class. A ConsistentHashingRoutingLogic configured in this way uses the ConsistentHashingRouter.EmptyConsistentHashMapping as the hash mapping function with a virtual node factor of 0 (zero).

ConsistentHashingRoutingLogic ( ActorSystem system, int virtualNodesFactor, ConsistentHashMapping hashMapping ) : System

Initializes a new instance of the ConsistentHashingRoutingLogic class.

Select ( object message, Routee routees ) : Routee

Picks a Routee to receive the message.

WithHashMapping ( ConsistentHashMapping mapping ) : ConsistentHashingRoutingLogic

Creates a new ConsistentHashingRoutingLogic router logic with a given ConsistentHashMapping. This method is immutable and returns a new instance of the router.

Описание методов

ConsistentHashingRoutingLogic() публичный Метод

Initializes a new instance of the ConsistentHashingRoutingLogic class. A ConsistentHashingRoutingLogic configured in this way uses the ConsistentHashingRouter.EmptyConsistentHashMapping as the hash mapping function with a virtual node factor of 0 (zero).
public ConsistentHashingRoutingLogic ( ActorSystem system ) : System
system ActorSystem The actor system that owns the router with this logic.
Результат System

ConsistentHashingRoutingLogic() публичный Метод

Initializes a new instance of the ConsistentHashingRoutingLogic class.
public ConsistentHashingRoutingLogic ( ActorSystem system, int virtualNodesFactor, ConsistentHashMapping hashMapping ) : System
system ActorSystem The actor system that owns the router with this logic.
virtualNodesFactor int The number of virtual nodes to use on the hash ring.
hashMapping ConsistentHashMapping The consistent hash mapping function to use on incoming messages.
Результат System

Select() публичный Метод

Picks a Routee to receive the message.
public Select ( object message, Routee routees ) : Routee
message object The message that is being routed
routees Routee A collection of routees to choose from when receiving the .
Результат Routee

WithHashMapping() публичный Метод

Creates a new ConsistentHashingRoutingLogic router logic with a given ConsistentHashMapping. This method is immutable and returns a new instance of the router.
The mapping can not be null.
public WithHashMapping ( ConsistentHashMapping mapping ) : ConsistentHashingRoutingLogic
mapping ConsistentHashMapping The used to configure the new router.
Результат ConsistentHashingRoutingLogic