add_call(Name::call_name(), X2::call()) -> ok
find(Name::call_name(), Key::any()) -> {ok, pid()} | {error, reason()}
get(Name::call_name(), Key::any()) -> {ok, pid()} | {error, Reason::atom()}
get(Name::call_name(), Key::any(), Args::[term()]) -> {ok, pid()} | {error, Reason::atom()}
get_key(Key::any()) -> {node(), pid()} | {error, reason()}
get_key(Key::any(), Args::[term()]) -> {node(), pid()} | {error, Reason::atom()}
get_less_used_node() -> node()
get_metrics() -> [node_metrics()]
search_key(Key::any()) -> {ok, PID::pid()} | undefined
start_link(Nodes::[node()]) -> {ok, pid()} | {error, reason()}
start_link(Call::call(), Nodes::[node()]) -> {ok, pid()} | {error, reason()}
start_link(Backend::backend(), Call::call(), Nodes::[node()]) -> {ok, pid()} | {error, reason()}
start_link(MaxR::max_retries(), MaxT::max_time(), Call::call(), Nodes::[node()]) -> {ok, pid()} | {error, reason()}
start_link(Backend::backend(), MaxR::max_retries(), MaxT::max_time(), Call::call(), Nodes::[node()]) -> {ok, pid()} | {error, reason()}