System Architecture

System Architecture

Below is a high-level architecture diagram of the system:

%% System Architecture Diagram for NextGen Gateway
%% High-level system view (no Runtime internals)

flowchart TD
    subgraph User["User"]
        UI["Web Interface"]
    end
    subgraph Core["Core"]
        SH["Service Hub"]
        RT["Runtime"]
        LS["Log Service"]
    end
    UI -- REST API (HTTP) --> SH
    RT -- TCP (Log) --> LS
    SH -- TCP (Log) --> LS
    SH <-- TCP (Log Query) --> LS
    SH -- HTTP (Config/Control) --> RT
    UI --- UI_NOTE["Note: UI interacts with Service Hub for data/config"]
    SH --- SH_NOTE["Note: Manages config and proxies to Runtimes"]
    LS --- LS_NOTE["Note: Queried by Service Hub for logs"]

The NextGen Gateway system is composed of four main elements:

  • Service Hub: Responsible for configuration management and acts as a proxy for interacting with multiple runtimes and other services. Provides a REST API for user interaction.
  • Runtime: Handles multiple plugins for high-speed data processing. Each runtime connects to the Service Hub via HTTP to announce itself, receive configuration and can connect to other runtimes.
  • Web Interface: Interacts with the Service Hub to fetch data, display information, and load configurations.
  • Log Service: Receives logs via TCP from all services and provides a search feature (also via TCP) to the Service Hub.