Module component

Source
Expand description

The Component module defines the top-level API for building distributed applications.

A distributed application consists of a set of Component that can host one or more Endpoint. Each Endpoint is a network-accessible service that can be accessed by other Component in the distributed application.

A Component is made discoverable by registering it with the distributed runtime under a Namespace.

A Namespace is a logical grouping of Component that are grouped together.

We might extend namespace to include grouping behavior, which would define groups of components that are tightly coupled.

A Component is the core building block of a distributed application. It is a logical unit of work such as a Preprocessor or SmartRouter that has a well-defined role in the distributed application.

A Component can present to the distributed application one or more configuration files which define how that component was constructed/configured and what capabilities it can provide.

Other Component can write to watching locations within a Component etcd path. This allows the Component to take dynamic actions depending on the watch triggers.

TODO: Top-level Overview of Endpoints/Functions

Structs§

Client
Component
A Component a discoverable entity in the distributed runtime. You can host Endpoint on a Component by first creating a Service then adding one or more Endpoint to the Service.
ComponentBuilder
Builder for Component.
ComponentEndpointInfo
Endpoint
Namespace
NamespaceBuilder
Builder for Namespace.
Registry
RegistryInner

Enums§

ComponentBuilderError
Error type for ComponentBuilder
NamespaceBuilderError
Error type for NamespaceBuilder
TransportType