quic_discovery_dns (quic v1.3.0)

View Source

DNS SRV record discovery backend.

This backend uses DNS SRV records to discover nodes in a cluster. It queries _erlang-dist._quic.{domain}` for SRV records. == Configuration == In sys.config: ``` {quic, [ {dist, [ {discovery_module, quic_discovery_dns}, {dns_domain, "cluster.example.com"}, {dns_ttl, 30} % Cache TTL in seconds ]} ]}''

DNS Records

   _erlang-dist._quic.cluster.example.com. SRV 0 0 4433 node1.cluster.example.com.
   _erlang-dist._quic.cluster.example.com. SRV 0 0 4433 node2.cluster.example.com.

Summary

Functions

Initialize DNS discovery backend.

List all nodes via DNS SRV query.

Look up a node's address via DNS.

Functions

init(Opts)

-spec init(Opts :: proplists:proplist() | map()) -> {ok, map()}.

Initialize DNS discovery backend.

list_nodes(Host)

-spec list_nodes(Host :: string()) -> {ok, [{atom(), inet:port_number()}]} | {error, term()}.

List all nodes via DNS SRV query.

lookup(NodeName, Host)

-spec lookup(NodeName :: atom(), Host :: string()) ->
                {ok, {inet:ip_address() | string(), inet:port_number()}} | {error, term()}.

Look up a node's address via DNS.