Back to Posthog

README

rust/personhog-replica/README.md

1.43.1767 B
Original Source

personhog-replica cluster

Requirements

  • provides an API contract for eventual person reads, strong reads to non-persons tables, writes to non-persons tables
  • provides a cheap, quickly scalable, operationally simple request path for simple data access patterns
  • gRPC service

Known Implementation Details

mermaid
---
title: PersonHog Replica Read Path
---
graph TB
    C[Client] -->|"GET /persons?..."| R

    subgraph R[Router]
        direction TB
        PARSE[Parse request] --> DECIDE{Consistent Read/Write?}
        DECIDE -->|"Yes"| LEADER[Route to Leader BE]
        DECIDE -->|"No"| REPLICA[Route to Replica BE]
    end

    REPLICA --> RP1[PersonHog Replica BE]

    RP1 -->|query| PG[(Durable Store Replica)]
    RP1 -->|response| C