# Što ćete naučiti#
Ovaj vodič objašnjava kako implementirati Next.js višeregionalnu implementaciju na Vercelu i Cloudflareu koristeći tri arhitektonske poluge: edge rendering, regionalni SSR i lokalnost podataka.
Dobit ćete kriterije za odluku temeljene na geografiji korisnika i izvorima podataka, praktične obrasce implementacije, upozorenja vezana uz baze podataka te kontrolnu listu za provjeru stvarnih poboljšanja latencije u produkciji.
# Zašto je višeregionalnost važna za Next.js#
Za većinu web aplikacija latencijom dominiraju dvije komponente: mrežni round tripovi i pristup podacima u backendu. Premještanje compute-a bliže korisnicima može drastično smanjiti time to first byte, ali samo ako upravljate i time gdje se podaci čitaju i upisuju.
U praksi, višeregionalnost vam može pomoći da:
- Smanjite vrijeme do prvog bajta za globalni promet posluživanjem s obližnjih points of presence lokacija.
- Smanjite tail latenciju tijekom regionalnih zagušenja izbjegavanjem jedne “hotspot” regije.
- Poboljšate doživljaj brzine ranijim streamanjem HTML-a, čak i ako se dio podataka učitava kasnije.
ℹ️ Napomena: Čest način da stvari ne uspiju je “edge SSR + baza podataka u jednoj regiji”. HTML krene brzo, ali se zahtjev blokira na međuregionalni poziv bazi, pa se ukupna brzina ne popravi značajno, a ponekad se i pogorša.
# Osnovni koncepti: Edge rendering, regionalni SSR i lokalnost podataka#
Edge rendering#
Edge rendering znači pokretanje koda u vrijeme zahtjeva na rubu mreže, blizu korisnika. Na Vercelu je to Edge Runtime. Na Cloudflareu su to Workers (i Pages Functions).
Dobro odgovara za:
- Preusmjeravanje zahtjeva, AB testiranje, preusmjeravanja za lokalizaciju
- Auth provjere koje ne trebaju teške Node.js API-je
- Personalizaciju koja se može riješiti putem cookiesa, headera, KV-a ili cacheiranih API-ja
Kompromisi:
- Ograničenja runtimea i drugačiji API-ji u odnosu na Node.js
- Ograničenja CPU vremena i veličine payload-a
- Debugging i lokalna paritetnost mogu biti zahtjevniji
Ako trebate detaljnu usporedbu runtimeova, pogledajte Next.js Edge Runtime vs Node.js Runtime na Vercelu i Cloudflareu.
Regionalni SSR#
Regionalni SSR izvršava server-side rendering u odabranoj regiji, tipično bliže bazi podataka ili internim API-jima. Cilj je smanjiti udaljenost između compute-a i podataka.
Dobro odgovara za:
- SSR s puno podataka kada je DB regionalna
- Workloadove koji trebaju Node.js biblioteke ili native module
- Složene server actions i teže transformacije
Kompromisi:
- Traži odabir regije i strategiju usmjeravanja
- Cold startovi i ponašanje skaliranja razlikuju se po platformi
- I dalje treba cacheiranje za učinkovito podnošenje globalnih skokova prometa
Lokalnost podataka#
Lokalnost podataka je presudan faktor u većini arhitektura. Ako su čitanja i upisi u jednoj regiji, globalni compute ne može “magično” zaobići fiziku međuregionalnih poziva.
Općenito imate četiri opcije lokalnosti podataka:
- 1DB u jednoj regiji s cacheom ispred
- 2Read replike u više regija, upisi u jednoj
- 3Multi-leader ili konfliktno-otporna globalna DB za upise
- 4Particionirani podaci po regiji ili tenant-u, uz usmjeravanje
“Prava” opcija ovisi o geografiji korisnika i zahtjevima konzistentnosti.
# Kriteriji odluke: Odaberite višeregionalni obrazac koji odgovara stvarnosti#
Prije nego promijenite infrastrukturu, odgovorite na ova pitanja brojkama, a ne pretpostavkama.
1) Gdje su vaši korisnici?#
Segmentirajte po kontinentu i top državama. Ako je 80 posto prometa u jednoj regiji, single-region postav s jakim cacheiranjem može biti bolji od složenog višeregionalnog stacka.
Praktično pravilo:
- Ako je više od 25 do 30 posto korisnika konzistentno daleko od vaše primarne regije, višeregionalnost se obično isplati barem evaluirati.
2) Što je dinamičko, a što se može cacheirati?#
Izmjerite koliki se postotak zahtjeva može cacheirati na CDN-u ili na aplikacijskom sloju. Mnoge Next.js aplikacije mogu cacheirati većinu anonimnog prometa čak i uz SSR, kombiniranjem ISR-a, cacheiranja segmenata ruta i fetch cacheiranja.
Za obrasce i zamke pogledajte Next.js strategije cacheiranja: SSR, ISR, SWR.
3) Gdje žive vaši podaci?#
Napravite inventuru svake request putanje:
- Koju bazu pogađa?
- Koje vanjske API-je zove?
- Trebaju li se raditi upisi?
- Koliki je P95 response time tog poziva prema podacima?
Ako vaše najopterećenije rute rade jedan međuregionalni DB poziv po zahtjevu, edge rendering može malo poboljšati TTFB, ali neće riješiti end-to-end latenciju.
4) Kakvu konzistentnost trebate?#
Budite eksplicitni:
- Je li eventual consistency prihvatljiva za neka čitanja?
- Možete li usmjeriti upise u “home” regiju i prikazati blago zastarjela čitanja drugdje?
- Trebate li “read-your-writes” garancije za prijavljene korisnike?
Zahtjevi konzistentnosti obično određuju možete li agresivno koristiti replike i cacheiranje.
# Arhitektonske opcije (i kada koristiti koju)#
Tablica u nastavku sažima najčešće višeregionalne pristupe za Next.js.
| Obrazac | Lokacija compute-a | Strategija podataka | Najbolje za | Glavni rizik |
|---|---|---|---|---|
| CDN + statičko i ISR | Globalni CDN | Origin u jednoj regiji | Content stranice, marketing, dokumentacija | Ograničena dinamička personalizacija |
| Edge SSR s cacheiranim API-jima | Edge | Cache-first, DB iza API-ja | Globalne aplikacije s dominantnim čitanjem | Međuregionalni DB pozivi poništavaju dobitke |
| Regionalni SSR blizu DB-a | Regija | DB u istoj regiji | SSR s puno podataka, dashboardi | Udaljeni korisnici imaju veći RTT |
| Hibrid: edge routing + regionalni SSR | Edge + regija | Usmjeravanje prema najbližoj održivoj regiji | Globalne aplikacije s regionalnim backendima | Kompleksnost rutiranja i rupe u observabilityju |
| Višeregionalna čitanja s replikama | Regija ili edge | Read replike + jedan write leader | Globalna čitanja, ograničeni upisi | Replication lag i bugovi konzistentnosti |
| Globalna baza za čitanja i upise | Edge ili regija | Multi-leader globalna DB | Uistinu globalni write workloadovi | Trošak, lock-in, rješavanje konflikata |
# Obrazac 1: Edge rendering za brzi ulaz i pametno usmjeravanje#
Koristite edge za prvi kontakt: rutiranje, auth gating i odabir ispravne regije ili origina. To poboljšava doživljaj performansi i omogućuje da teži posao ostane u regionalnom Node.js okruženju.
Vercel: Edge Middleware za geo rutiranje#
Praktičan pristup je rutirati po državi, uz mogućnost overridea radi testiranja.
// middleware.ts
import { NextResponse } from "next/server";
import type { NextRequest } from "next/server";
const EU = new Set(["HR", "DE", "AT", "IT", "FR", "NL", "ES", "SE", "PL"]);
const US = new Set(["US", "CA"]);
export function middleware(req: NextRequest) {
const country = req.geo?.country || "US";
const url = req.nextUrl;
const forced = req.headers.get("x-region-force");
const region = forced
? forced
: EU.has(country)
? "eu"
: US.has(country)
? "us"
: "us";
url.pathname = `/${region}${url.pathname}`;
return NextResponse.rewrite(url);
}
export const config = {
matcher: ["/((?!_next|api|.*\\..*).*)"],
};Ovaj obrazac dobro radi kada:
- Vaša se aplikacija može poslužiti iz ruta s prefiksom regije
- Održavate odvojene regionalne backendove ili particije podataka
- Želite predvidljivo rutiranje radi debugiranja
Upozorenje: URL rewriteovi mijenjaju cache ključeve i strukturu ruta. Morate uskladiti cache politike i kanoničke URL-ove kako biste izbjegli duplo indeksiranje i fragmentaciju cachea.
💡 Savjet: Dodajte interni header poput
x-regionna svaki response i logirajte ga. Kad analizirate latenciju, odmah ćete vidjeti pogađaju li “spori korisnici” krivu regiju ili doživljavaju data hopove.
Cloudflare: Workers za geo rutiranje i cache kontrolu#
Cloudflare Workers mogu donijeti slične odluke o rutiranju i konzistentno postaviti cache headere. Čak i ako vaš Next.js radi negdje drugdje, Workers mogu biti pametni edge proxy.
export default {
async fetch(request, env) {
const url = new URL(request.url);
const country = request.cf?.country || "US";
const region = ["HR", "DE", "AT", "IT"].includes(country) ? "eu" : "us";
url.hostname = region === "eu" ? "eu.example.com" : "us.example.com";
const res = await fetch(url.toString(), request);
const headers = new Headers(res.headers);
headers.set("x-region", region);
return new Response(res.body, { status: res.status, headers });
},
};Ovo je korisno kada trebate edge kontrolu, ali želite zadržati SSR na originima po regijama.
# Obrazac 2: Regionalni SSR blizu baze podataka (i zašto često pobjeđuje)#
Ako je vaša baza u jednoj regiji, česta best practice preporuka je: držite SSR u istoj regiji. Time smanjujete server-to-database RTT, koji je često veći trošak od user-to-server RTT-a za stranice s puno podataka.
Kada preferirati regionalni SSR#
Odaberite ovo kada:
- SSR zahtjevi rade više DB upita ili zovu interne servise
- Trebate pakete samo za Node.js ili teži compute
- Vaša aplikacija ima značajan udio autentificiranog prometa gdje je cacheiranje ograničeno
Kako ipak smanjiti latenciju za globalne korisnike:
- Streamajte HTML i odgodite nekritične podatke na klijent
- Koristite cacheiranje na razini ruta za polustatične segmente
- Dodajte CDN cacheiranje za neautentificirane ulazne točke
Praktična implementacija: razdvojite public i auth putanje#
Čest setup:
- Javne stranice: edge ili cacheirani ISR
- Aplikacija za prijavljene korisnike: regionalni SSR blizu DB-a
- API-ji: regionalni, uz selektivno cacheiranje read endpointa
U Next.js App Routeru, držite public segmente “cache-friendly” i izolirajte čitanja specifična za korisnika.
// app/(public)/page.tsx
export const revalidate = 300; // 5 minuta za globalni CDN
export default async function Page() {
const res = await fetch("https://api.example.com/public-feed", {
next: { revalidate: 300 },
});
const data = await res.json();
return <pre>{JSON.stringify(data, null, 2)}</pre>;
}Ovo smanjuje pritisak na SSR i drži većinu globalnog prometa brzim bez forsiranja višeregionalnih upisa.
# Obrazac 3: Strategije lokalnosti podataka (pravi višeregionalni posao)#
Opcija A: DB u jednoj regiji + agresivno cacheiranje#
Ovo je najisplativiji pristup kada:
- Upisi su česti i moraju biti strogo konzistentni
- Čitanja se mogu cacheirati za anonimne ili polu-personalizirane korisnike
- Možete tolerirati povremenu zastarjelost cachea
Ključne tehnike:
- Cacheirajte HTML gdje je moguće (ISR ili route caching)
- Cacheirajte fetch pozive s
next: { revalidate } - Koristite stale-while-revalidate obrasce za client-side podatke
Ako želite strukturiran pristup, koristite Next.js strategije cacheiranja: SSR, ISR, SWR kao polaznu točku.
Opcija B: Read replike u više regija#
Read replike su “sweet spot” za mnoge SaaS proizvode:
- Upisi idu u primarnu regiju
- Čitanja za globalne korisnike idu na najbližu repliku
- Neki endpointi ostaju “read-your-writes” tako da se pinaju na primarnu
Morate riješiti:
- Replication lag
- Fallback na primarnu ako je replika zastarjela ili nedostupna
- Session affinity za tokove rada koji trebaju trenutnu konzistentnost
Jednostavna apstrakcija za “read routing” pomaže da kod ostane konzistentan.
type DbTarget = "primary" | "replica-eu" | "replica-us";
export function pickReadTarget(userRegion: "eu" | "us", needsFresh: boolean): DbTarget {
if (needsFresh) return "primary";
return userRegion === "eu" ? "replica-eu" : "replica-us";
}Opcija C: Particionirani podaci po regiji ili tenant-u#
Particioniranje je često jednostavnije od globalne multi-writer replikacije:
- EU korisnici u EU bazi
- US korisnici u US bazi
- Rutiranje se temelji na “home” regiji tenant-a
To smanjuje pravni i compliance rizik za EU data residency i pojednostavljuje latenciju, ali komplicira:
- Admin alate preko regija
- Globalnu analitiku
- Premještanje tenant-a između regija
Opcija D: Globalni upisi s Multi-Leader#
Ako vašoj aplikaciji zaista trebaju globalni upisi s niskom latencijom, treba vam baza dizajnirana za to. Ovo može raditi odlično, ali morate dizajnirati rješavanje konflikata i konzistentne identifikatore.
Budite realni oko opsega. Multi-leader je rijetko prvi korak; obično je zadnji korak nakon cacheiranja i replika.
⚠️ Upozorenje: Nemojte uvoditi multi-writer baze da biste popravili problem cacheiranja. Ako je 60 do 90 posto prometa read-only ili polustatično, cacheiranje i replike obično daju većinu dobitaka uz znatno manji rizik.
# Vercel vs Cloudflare: razlike platformi koje utječu na arhitekturu#
Obje platforme mogu poslužiti globalni promet, ali primitive se razlikuju. Odaberite platformu koja odgovara vašim runtime potrebama i integraciji s podacima.
| Mogućnost | Vercel | Cloudflare |
|---|---|---|
| Edge compute | Edge Runtime | Workers |
| Node.js SSR | Jako, integrirano | Obično preko odvojenog origina ili ograničenih okruženja |
| Rutiranje | Middleware, rewrites | Rutiranje kroz Workers |
| Ugrađeni CDN | Da | Da |
| Najbolje odgovara | Timovima kojima je Next.js primaran | Edge-first, proxy i cache-heavy setupovima |
| Česta zamka | Ograničenja edge runtimea | Pretjerano korištenje Workersa kao app servera bez plana za podatke |
Ograničenja runtimea i kompatibilnost su bitni. Ako se oslanjate na Node.js API-je, provjerite što može raditi na edgeu, a što mora ostati regionalno. Koristite Next.js Edge Runtime vs Node.js Runtime na Vercelu i Cloudflareu kako biste mapirali značajke na runtimeove.
# Obrasci implementacije koji rade u produkciji#
Obrazac A: Edge Middleware za personalizaciju, ne za dohvat podataka#
Neka edge posao bude mali:
- Detektirajte lokalizaciju i preusmjerite
- Provedite osnovna auth pravila
- Dodajte lagane headere poput
x-user-segment
Zatim dohvaćajte teške podatke u regionalnom runtimeu gdje možete kontrolirati connection pooling, retry logiku i DB drivere.
Obrazac B: “Backend for Frontend” API sloj s regionalnim implementacijama#
Umjesto da Next.js stranice direktno pričaju s bazom, stavite ispred API koji je svjestan regije:
/api/eu/*priča s EU replikom/api/us/*priča s US replikom/api/write/*priča s primarnom
To vam daje jedno mjesto za implementaciju:
- Rate limiting
- Cache headere
- Rutiranje prema konzistentnosti
- Observability
Obrazac C: Cache ključevi koji uključuju regiju i auth stanje#
Ako miješate regije i auth, morate izbjeći cache poisoning i slučajna curenja podataka. Vaša cache strategija treba varirati po:
- Regiji
- Autentificiranom vs anonimnom stanju
- Localeu ako se sadržaj razlikuje
Na primjer, postavite eksplicitne headere i osigurajte da upstream cacheovi ne dijele personalizirane responseove.
Obrazac D: Budžeti latencije po hopu#
Definirajte budžete za svaki hop:
- Korisnik do edgea: cilj P95 ispod 50 do 100 ms
- Edge do regije: cilj P95 ispod 50 do 100 ms
- Regija do DB-a: cilj P95 ispod 10 do 30 ms ako su ko-locirani
- Vrijeme DB upita: cilj P95 ispod 20 do 80 ms ovisno o workloadu
Ako je vaš hop regija-do-DB 150 ms jer je baza negdje drugdje, višeregionalni compute ne rješava temeljni problem.
# Upozorenja za baze podataka u višeregionalnom Next.js-u#
Connection pooling i serverless#
U serverless okruženjima, naivni pooling može preopteretiti bazu s previše konekcija. Koristite:
- Connection pooler ili database proxy
- Razuman maksimum konekcija po instanci
- Ponovno korištenje na razini requesta gdje je podržano
Ako deployate u više regija, umnožavate rizik: svaka se regija skalira neovisno i može izazvati “connection storm”.
Read-after-write očekivanja#
Korisnici očekuju da nakon ažuriranja profila to odmah vide. S replikama to čitanje može biti zastarjelo nekoliko sekundi.
Ublažavanja:
- Nakon upisa, pinajte korisnika na primarnu regiju kratko, npr. 30 do 120 sekundi
- Ili čitajte iz primarne za sljedeći zahtjev kojem treba svježina
- Ili koristite write-through cacheove s versioningom
Background jobovi i webhookovi#
Webhookovi i zakazani jobovi često pretpostavljaju jednu regiju. U višeregionalnom sustavu morate odlučiti:
- Koja regija “posjeduje” job scheduler
- Kako izbjeći duplu obradu
- Kako usmjeriti callbackove dobavljača u ispravnu regiju
Ovdje pomaže imati alat za automatizaciju. Ako orkestrirate workflowe, držite izvršavanje centraliziranim i svjesnim regije. Za širu vidljivost sustava kroz regije, pratite Vodič za observability web aplikacija: logovi, metrike, tracing.
# Kako mjeriti uspjeh: kontrolna lista za validaciju latencije#
Višeregionalni rad je uspješan samo ako poboljšanje možete dokazati konzistentnim mjerenjem. Koristite ovu listu prije i nakon svake promjene.
Kontrolna lista instrumentacije#
| Što mjeriti | Kako | Ciljani ishod |
|---|---|---|
| TTFB po državi | RUM kroz Web Vitals ili custom beacone | Niži P75 i P95 u udaljenim regijama |
| Server timing po hopu | Server-Timing headeri | Vidjeti vrijeme u edgeu, SSR-u, podacima |
| Poslužena regija | Response header x-region | Potvrditi ispravno rutiranje |
| Cache hit rate | CDN logovi i logovi aplikacije | Viši hit rate za cacheabilne rute |
| DB latencija | Tracing spanovi i DB metrike | Niži P95, manje međuregionalnih poziva |
| Error rate po regiji | SLO dashboardi | Bez regresija nakon promjena rutiranja |
Praktični koraci za validaciju#
- 1Dodajte
x-region,x-runtimeix-cachestil headere u responseove. - 2Prikupite RUM po geografiji i usporedite P75 i P95 prije i poslije.
- 3Traceajte jednu punu request putanju za svaku glavnu rutu iz EU, US i APAC testnih točaka.
- 4Potvrdite data hopove. Ako se SSR regija razlikuje od DB regije, kvantificirajte kaznu.
- 5Pokrenite load testove koji simuliraju regionalne spikeove i osigurajte da skaliranje ne uzrokuje DB connection stormove.
🎯 Ključna poruka: Ako ne možete pripisati latenciju konkretnom hopu, ne možete je pouzdano poboljšati. Uložite u tracing i označavanje regija prije dodavanja arhitektonske kompleksnosti.
# Česte zamke i kako ih izbjeći#
Pretjerano korištenje edgea za teške workloadove#
Edge compute je odličan za rutiranje i laganu logiku, ali teški SSR plus više backend poziva često pripada regionalnom Node.js-u.
Kad je edge SSR i dalje koristan, neka pozivi prema podacima budu cacheabilni i minimizirajte jedinstvene payloadove po korisniku.
Fragmentacija cachea između regija#
Ako svaka regija stvara jedinstvene cache ključeve, hit rate pada i latencija može porasti. Standardizirajte:
- Kanoničke URL-ove
- Rukovanje localeom
- Normalizaciju query parametara
“Globalna aplikacija” sa single-region ovisnostima#
Čak i ako je Next.js deployan globalno, jedna ovisnost u jednoj regiji može dominirati latencijom:
- Baza podataka u jednoj regiji
- Endpointi auth providera u jednoj regiji
- Third-party API-ji u jednoj regiji
Riješite dodavanjem cacheiranja, replika ili endpointa specifičnih po regiji gdje je moguće, ili prihvatite da SSR treba biti blizu te ovisnosti.
Slijepe točke u observabilityju#
Višeregionalnost povećava broj pokretnih dijelova. Trebate konzistentne logove, metrike i tracing kroz edge i regionalne runtimeove. Koristite Vodič za observability web aplikacija: logovi, metrike, tracing za implementaciju dashboarda i alerta koji su svjesni regija.
# Ključne poruke#
- Odaberite obrazac Next.js višeregionalne implementacije prvenstveno prema lokalnosti podataka, a ne prema lokaciji compute-a.
- Koristite edge rendering za rutiranje, headere i laganu personalizaciju; teški SSR držite blizu baze podataka.
- Ako je baza u jednoj regiji, prioritet dajte cacheiranju i regionalnom SSR-u blizu DB-a prije pokušaja globalnih upisa.
- Read replike mogu donijeti većinu dobitaka globalne latencije, ali morate dizajnirati za replication lag i read-after-write tokove.
- Validirajte poboljšanja uz oznake regije,
Server-Timingi RUM po geografiji, ne samo kroz lokalne benchmarke.
# Zaključak#
Dobra Next.js višeregionalna implementacija nije jedna arhitektura, nego skup kompromisa koje donosite svjesno: gdje se izvršava SSR, gdje žive podaci i kako rješavate cacheiranje i konzistentnost.
Ako želite pomoć u dizajniranju pravog obrasca za vaš promet i izvore podataka, Samioda može auditirati vašu trenutnu latenciju, predložiti višeregionalni blueprint za Vercel ili Cloudflare i implementirati ga s mjerljivim ciljevima performansi. Javite nam se putem samioda.com i podijelite svoje najvažnije rute, regije i trenutni P95 latencije kako bismo mogli kvantificirati ROI.
FAQ
Osnivač i senior developer u Samiodi. 8+ godina iskustva u izradi React, Next.js, Flutter i n8n rješenja za klijente diljem Europe.
Više iz kategorije Web razvoj
Sve →Next.js monorepo s Turborepo + pnpm Workspaces: praktičan vodič za postavljanje u 2026.
Postavite monorepo spreman za produkciju za Next.js koristeći Turborepo i pnpm workspaces, sa zajedničkim paketima, lintanjem, testiranjem i CI cacheiranjem — uz trade-offove i zamke koje treba izbjeći.
Kontrolni popis pristupačnosti za React: ARIA, navigacija tipkovnicom, upravljanje fokusom i testiranje (2026.)
Kontrolni popis pristupačnosti za React usmjeren na developere, koji pokriva ARIA, navigaciju tipkovnicom, upravljanje fokusom i automatizirano testiranje s axe i Playwrightom — uz konkretne primjere za forme, modale, izbornike i toast obavijesti.
Virtualizacija React tablica i beskonačno skrolanje: izrada brzih data gridova s TanStackom (vodič za 2026.)
Naučite virtualizaciju tablica u Reactu uz TanStack Table, TanStack Virtual i React Query: učinkovito renderiranje, beskonačno skrolanje, sortiranje/filtriranje na serveru, sinkronizacija s URL-om, postojanost selekcije i optimistična ažuriranja.
Trebate pomoć s projektom?
Gradimo prilagođena rješenja koristeći tehnologije iz ovog članka. Senior tim, fiksne cijene.
Povezani članci
Next.js Edge Runtime vs Node.js Runtime (Vercel i Cloudflare): Što pokretati gdje
Praktičan okvir za odlučivanje između Next.js Edge Runtime i Node.js Runtime u 2026., s konkretnim primjerima, ograničenjima i završnom matricom use-caseova.
Next.js ograničavanje stope zahtjeva i zaštita od botova: obrasci za API-je, Server Actions i Edge (vodič za 2026.)
Praktični obrasci za ograničavanje stope zahtjeva u Next.js-u za Route Handlers, Server Actions i Edge runtime — uz token bucket strategije, ograničenja temeljena na Redis-u, WAF/CDN pravila, nadzor i ublažavanje lažno pozitivnih blokiranja.
Next.js pozadinski poslovi u 2026.: redovi, Cron i dugotrajni zadaci na Vercelu (i šire)
Praktičan vodič za izvođenje pozadinskog rada u Next.js-u u 2026.: Vercel Cron, ograničenja serverlessa, redovi s Upstashom i Redisom te worker servisi za dugotrajne zadatke. Uključuje kriterije odlučivanja, arhitekturne dijagrame i checklistu za produkciju.