Crate mz_balancerd

source ·
Expand description

The balancerd service is a horizontally scalable, stateless, multi-tenant ingress router for pgwire and HTTPS connections.

It listens on pgwire and HTTPS ports. When a new pgwire connection starts, the requested user is authenticated with frontegg from which a tenant id is returned. From that a target internal hostname is resolved to an IP address, and the connection is proxied to that address which has a running environmentd’s pgwire port. When a new HTTPS connection starts, its SNI hostname is used to generate an internal hostname that is resolved to an IP address, which is similarly proxied.

Modules§

Structs§

Enums§

Constants§

Traits§

Functions§

  • Broadcasts cancellation to all matching environmentds. conn_id’s bits [31..20] are the lower 12 bits of a UUID for an environmentd/organization. Using that and the template in cancellation_resolver we generate a hostname. That hostname resolves to all IPs of envds that match the UUID (cloud k8s infrastructure maintains that mapping). This function creates a new task for each envd and relays the cancellation message to it, broadcasting it to any envd that might match the connection.
  • lookup 🔒
    Returns the first IP address resolved from the provided hostname.