View Source Infinitomata (Finitomata v0.26.4)
The sibling of Finitomata
, but runs transparently in the cluster.
If you want to use a stateful consistent hash ring like libring
,
implement the behaviour Finitomata.ClusterInfo
wrapping calls to it and
invoke Finitomata.ClusterInfo.init(Impl)
before using Infinitomata.start_fsm/4
.
The example of such an implementation for libring
(assuming the named ring @ring
has been started in the supervision tree) follows.
defmodule MyApp.ClusterInfo do
@moduledoc false
@behaviour Finitomata.ClusterInfo
@impl Finitomata.ClusterInfo
def nodes, do: HashRing.nodes(@ring)
@impl Finitomata.ClusterInfo
def whois(id), do: HashRing.key_to_node(@ring, id)
end
Summary
Functions
Count of children
Returns the random FSM from the pool
Synchronizes the local Infinitomata
instance with the cluster
Functions
Count of children
Returns the random FSM from the pool
Synchronizes the local Infinitomata
instance with the cluster