PromNET

SÚGÓ Felhő tárhely

Hyperdrive PG-pool — Supabase / Neon / RDS gyorsítás CF edge-en

Cloudflare Hyperdrive-alapú connection-pool a saját Postgres-DB-d előtt. Megoldja a Workers-en gyakori 100-conn-limit problémát.


A Hyperdrive plugin egy Postgres connection-pool a CF edge-en a saját külső PG-DB-d (Supabase, Neon, AWS RDS, Railway, vagy saját VPS) előtt.

1. Mire jó?

  • Workers-PG-bridge: Cloudflare Workers natívan nem tud Postgres-t direktben fenntartani — Hyperdrive pool-os hídként működik
  • Connection-limit megoldás: Supabase ingyen 60 conn / Neon 100 conn — Workers spawn-ol naponta 1000+ instance-ot, ami felrobbantaná a poolt; Hyperdrive 1 perzisztens connection-pool-t tart fenn
  • Globális query-cache: read-heavy SELECT-ek cache-elve a CF edge-en
  • Automatikus SSL: Hyperdrive proxy-zza, nem kell egyéni-CA bajlódás

2. Aktiválás

/app/plugins → Hyperdrive PG-pool → ”+ Aktiválom”. Free: 1 config. Start (1990 Ft): 5. Pro (4990 Ft): 25.

3. Új config

/app/hyperdrive → ”➕ Új Hyperdrive-config”:

  • Név (UI-only)
  • Postgres-URL: postgres://user:[email protected]:5432/postgres
  • Cache max-age (mp): 0 = no-cache, default 60
  • Stale-while-revalidate (mp): default 15

⚠️ A jelszó SOHA nem kerül a PromNET D1-jébe. Cloudflare Hyperdrive tárolja titkosítva a saját rendszerében. Mi csak a non-sensitive metadat (host, db-név, user) tartjuk meg az UI-hoz.

4. Wrangler-binding hozzáadása a saját Workered-hez

A config létrehozása után megjelenik a cf_config_id UUID. Ezt tedd a saját Worker-projekted wrangler.toml-jába:

[[hyperdrive]]
binding = "DB"
id = "<a megjelenő cf_config_id>"

5. Worker-kód példa

import { Client } from 'pg'; // node-pg, Workers-kompatibilis

interface Env { DB: Hyperdrive }

export default {
  async fetch(req: Request, env: Env): Promise<Response> {
    const client = new Client({ connectionString: env.DB.connectionString });
    await client.connect();
    try {
      const r = await client.query('SELECT id, name FROM products WHERE active = $1 LIMIT 10', [true]);
      return Response.json(r.rows);
    } finally {
      // Hyperdrive lezárja maga, a pool-elést mi nem botolod
      await client.end();
    }
  },
};

6. Cache-stratégia

  • Cache max-age (pl. 60 mp): a 60 mp-n belüli azonos query-k cached-from-edge → ~0 ms latency
  • Stale-while-revalidate (pl. 15 mp): a max-age lejárta után még 15 mp-ig stale-választ ad, közben háttérben frissít
  • Total invalidálás: cache_max_age=0 minden query-t directben küld

A cache-kulcs a query-string (paraméterekkel együtt), nem a query-template.

7. Mikor NE használd Hyperdrive-ot?

  • Tranzakcionális workload: cache hibás eredményt adhat (pl. account-balance ne legyen cached)
  • Write-heavy: Hyperdrive elsősorban read-cache, de write-okat is jól proxy-zik
  • Realtime-kritikus: a stale-while-revalidate néhány mp késleltetést hozhat

8. Törlés

A “Törlés” gombbal a CF Hyperdrive-config is megszűnik. A saját Worker- binding-od ettől 502-t kezd dobni — előbb távolítsd el a binding-ot.


← Felhő tárhely Frissítve: 2026. 05. 07.