Skip to content

Move rate-limit counters to a shared store for multi-instance deploys (F-29) #260

@perigrin

Description

@perigrin

Architecture review finding F-29.

Rate-limit counters live in a per-process hash (acknowledged in comments). On a multi-instance / multi-worker deploy the effective limit multiplies and resets on restart. (Webhook dedup is correctly in Postgres, so that path is unaffected.) Move counters to a shared store (Postgres or Redis) before scaling the web tier beyond one instance.

Related: PR #244 (F-16) makes the limiter key on the real client IP; this issue covers the cross-instance state. Evidence: lib/Registry/Middleware/RateLimit.pm:31-39.

Metadata

Metadata

Assignees

No one assigned

    Labels

    backendBackend/server-side developmentenhancementEnhancement to existing featurelow-impactLow business impactmediumMedium complexity implementation

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions