Skálázz szakaszokban: először read replikák + caching az olvasásokhoz, majd shardelés (Vitess) az írásokhoz — és adj hozzá connection poolingot minden más előtt, mert az a legolcsóbb 10x. Az olvasások és írások eltérően skálázódnak, ezért ne nyúlj a shardeléshez az első napon.
┌─▶ Cache (Redis) ── hit ──▶ return
App ─▶ Pool(PgBouncer/ProxySQL) miss ▼
│ ┌─▶ Read replica 1 ┐
├──── reads ─────────┼─▶ Read replica 2 ┼─ (async replication)
│ └─▶ Read replica N ┘
└──── writes ──▶ Primary ──▶ (later) Vitess shards ─▶ Primary A / Primary B
0. lépés: connection pooling
Minden MySQL connection memóriába és egy szálba kerül. 100x forgalomnál kimeríted a -t jóval a CPU előtt. Egy pooler, mint a vagy , több ezer app connectiont multiplexel néhány száz DB connectionre. Ez egy config változtatás, nem újratervezés — csináld először.
