Skip to content

Instantly share code, notes, and snippets.

@binford2k
Last active November 19, 2025 19:02
Show Gist options
  • Select an option

  • Save binford2k/c3bb4b6d5eb87d9cbf9dfb316fa40e09 to your computer and use it in GitHub Desktop.

Select an option

Save binford2k/c3bb4b6d5eb87d9cbf9dfb316fa40e09 to your computer and use it in GitHub Desktop.

Load balanced compiler pool

  • Architecture recommended for up to ~20k nodes, or that require compiler redundancy
  • Can externalize PostgreSQL to Patroni managed cluster if data HA is required
%% OpenVox Agent Flow to Compiler Pool, DB Pool, and Patroni
graph LR
    %% Agents
    OVAgent[OpenVox-Agent]

    %% Load Balancer in front of Compiler Pool
    LB1[Compiler Load Balancer]

    Foreman[_optional:_ Foreman] <--> Compiler1
    subgraph CompilerPool[Compiler Pool]
        Compiler1[Compiler 1]
        Compiler2[Compiler 2]
        Compiler3[Compiler n]
    end

    %% Load Balancer in front of DB Pool
    OpenvoxView --> OpenVoxDB

    subgraph Postgres[Patroni PostgreSQL Cluster]
        PGLeader[Postgres Leader]
        PGReplica1[Postgres Replica 1]
        PGReplica2[Postgres Replica n]
    end


    %% Connections
    OVAgent --> LB1
    LB1 --> Compiler1
    LB1 --> Compiler2
    LB1 -.-> Compiler3

    Compiler1 --> OpenVoxDB
    Compiler2 --> OpenVoxDB
    Compiler3 -.-> OpenVoxDB

    OpenVoxDB -. optional .-> Postgres
    PGLeader --> PGReplica1
    PGLeader --> PGReplica2

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment