Skip to main content

Module component

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

Modules§

service

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.
Endpoint
Instance
Namespace
NamespaceBuilder
Builder for Namespace.
Registry
RegistryInner
RoutingInstanceCounts
StartedEndpoint
A registered endpoint whose exact callable instance is ready for use.

Enums§

ComponentBuilderError
Error type for ComponentBuilder
DeviceType
NamespaceBuilderError
Error type for NamespaceBuilder
TransportType

Functions§

build_transport_type
Build transport type, ensuring TCP server is initialized when needed.