Skip to content

Latest commit

 

History

History
110 lines (64 loc) · 5.4 KB

File metadata and controls

110 lines (64 loc) · 5.4 KB
graph LR
    Faust_Application_Core["Faust Application Core"]
    Configuration_Management["Configuration Management"]
    Topic_Management["Topic Management"]
    State_Management["State Management"]
    Agent_Management["Agent Management"]
    Kafka_Consumer["Kafka Consumer"]
    Kafka_Producer["Kafka Producer"]
    Web_Server["Web Server"]
    Faust_Application_Core -- "initializes and configures" --> Configuration_Management
    Faust_Application_Core -- "manages and provisions" --> Topic_Management
    Faust_Application_Core -- "manages and provisions" --> State_Management
    Faust_Application_Core -- "manages and provisions" --> Agent_Management
    Faust_Application_Core -- "integrates with and manages" --> Kafka_Consumer
    Faust_Application_Core -- "integrates with and manages" --> Kafka_Producer
    Faust_Application_Core -- "integrates with" --> Web_Server
    Faust_Application_Core -- "coordinates for rebalance" --> Kafka_Consumer
    Faust_Application_Core -- "coordinates for rebalance" --> State_Management
    Configuration_Management -- "configures" --> Kafka_Producer
    Configuration_Management -- "configures" --> Kafka_Consumer
    Configuration_Management -- "configures" --> State_Management
    Configuration_Management -- "configures" --> Web_Server
    Agent_Management -- "uses for message I/O" --> Topic_Management
    Agent_Management -- "uses for stateful operations" --> State_Management
    Agent_Management -- "uses to send messages" --> Kafka_Producer
    Faust_Application_Core -- "uses to send messages" --> Kafka_Producer
Loading

CodeBoardingDemoContact

Details

The Faust Application Definition subsystem is centered around the Faust Application Core component, which serves as the declarative blueprint and orchestrator for the entire Faust application. It defines and manages the lifecycle and interactions of the core stream processing elements.

Faust Application Core

The central orchestrator and declarative blueprint of a Faust application. It defines and manages the lifecycle of agents, topics, tables, and integrates with core services like Kafka producers/consumers and the web server. It also handles the overall application startup and shutdown sequences.

Related Classes/Methods:

Configuration Management

Manages and provides access to all application-wide configuration settings, including Kafka broker details, state store backends, web server settings, and other operational parameters.

Related Classes/Methods:

Topic Management

Provides an interface for defining, managing, and interacting with Kafka topics used by the Faust application. This includes topic creation, serialization, and deserialization.

Related Classes/Methods:

State Management

Manages the application's state tables, which are changelogged key-value stores used by agents for stateful stream processing. This includes mechanisms for persistence, recovery, and replication.

Related Classes/Methods:

Agent Management

Manages the lifecycle, execution, and coordination of Faust agents, which are the core stream processing units containing business logic.

Related Classes/Methods:

Kafka Consumer

Represents and manages the underlying aiokafka consumer client responsible for fetching messages from Kafka topics.

Related Classes/Methods:

Kafka Producer

Represents and manages the underlying aiokafka producer client responsible for sending messages to Kafka topics.

Related Classes/Methods:

Web Server

Manages the integrated web server (e.g., Aiohttp) for exposing HTTP endpoints, often used for health checks, metrics, or administrative interfaces.

Related Classes/Methods: