Chooses one instance, skipping ejected ones.
Logical service name
Optionaloptions: PickOptions
Per-call strategy override
The chosen instance, or null when the service has none
Reports how a call to an instance went.
Enough failures inside the configured window eject the instance from
IServiceDiscovery.pick's pool; a success clears its window and
un-ejects it immediately. Ejection state is per-process.
The instance that was called
Whether the call succeeded
Lists every instance discovery knows for a service.
Reports what the backend says, so ejected instances are included —
ejection is a IServiceDiscovery.pick concern, not a knowledge
one. An unknown service name resolves to an empty list rather than
throwing.
Logical service name
Every known instance, possibly empty
Formats IServiceDiscovery.pick's choice as an absolute URL.
Logical service name
Optionalpath: string
Path appended to the instance's origin
Optionaloptions: PickOptions
Per-call strategy override
The URL, or null when the service has no instance
Subscribes to instance-list changes for a service.
Push-based where the backend supports it (Consul blocking queries, Kubernetes watch streams) and interval-polled where it does not (DNS, static). The listener receives the full current list, never a delta.
Logical service name
Called with the full instance list on every change
Unsubscribe function that also stops the underlying watch
Resolves logical service names to reachable instances, balances across them, and learns from reported call outcomes.
Registered under
CAPABILITIES.SERVICE_DISCOVERY.Example: Calling a service, with failover
Since
0.2.0