fabric

Package service

Package service defines the interfaces of a microservice. The Connector implements all of them.

The top-level Service interface is a composition of narrower interfaces, each covering a distinct capability: Publisher and Subscriber for transport, Logger for logging, Meter and MeterDescriber for metrics, Tracer for distributed tracing, StarterStopper for lifecycle management, Identifier for addressing, Configurable for configuration, Resourcer for embedded resources, Ticker for scheduled jobs, Timer for time management, and Executor for launching goroutines.

These fine-grained interfaces allow downstream code to depend on only the capabilities it needs.