akka.routing.ConsistentHashingRouter
(consistentHashable: StringAdd).self
(consistentHashable: StringFormat).self
(consistentHashable: ArrowAssoc[ConsistentHashable]).x
(Since version 2.10.0) Use leftOfArrow
instead
(consistentHashable: Ensuring[ConsistentHashable]).x
(Since version 2.10.0) Use resultOfEnsuring
instead
If you don't define the
hashMapping
when constructing the akka.routing.ConsistentHashingRouter the messages need to implement this interface to define what data to use for the consistent hash key. Note that it's not the hash, but the data to be hashed.If returning an
Array[Byte]
or String it will be used as is, otherwise the configured akka.serialization.Serializer will be applied to the returned data.If messages can't implement this interface themselves, it's possible to wrap the messages in akka.routing.ConsistentHashingRouter.ConsistentHashableEnvelope, or use akka.routing.ConsistentHashingRouter.ConsistentHashableEnvelope