Optymalizacja pobierania danych w Astro z lokalnym API Payload CMS
Dowiedz się, jak uruchomienie Astro i Payload CMS w monolitycznej lub zlokalizowanym setupie odblokuje lokalne API, eliminując nakład HTTP i drastycznie zmniejszając czasy budowy.
Podczas budowania bezserwerowych stron internetowych, deweloperzy instynktownie domyślają się pobierania danych przez REST lub GraphQL przez HTTP. Chociaż to działa dobrze dla oddzielnych infrastruktur, wprowadza niepotrzebne opóźnienia sieciowe podczas renderowania po stronie serwera lub budowania statycznych stron. Wykorzystując natywne lokalne API Payload CMS w projekcie Astro, możesz bezpośrednio zapytać bazę danych bez żadnego nakładu sieciowego.
Całkowite pomijanie warstwy sieciowej Jeśli Astro i Payload są hostowane na tym samym serwerze lub w setupie monorepo, Astro może zaimportować instancję Payload bezpośrednio do swoich komponentów po stronie serwera. Zamiast wyzwalać zewnętrzne żądanie pobrania do punktu końcowego API, komendy takie jak payload.find() uruchomią skompilowanie zapytań do bazy danych Node.js lokalnie. Takie podejście traktuje bezserwerowy CMS jako lokalną warstwę danych zamiast zdalnej usługi.
Kluczowe zwycięstwa wydajności dla nowoczesnych wdrożeń full-stack:
- Błyskawiczne budowanie statyczne:Pomijanie żądań HTTP oznacza, że skomplikowane procesy generowania statycznych stron (SSG), które kiedyś zajmowały minuty, teraz mogą zakończyć się w ciągu kilku sekund.
- Zero awarii bramy HTTP:Ponieważ pobieranie danych odbywa się wewnętrznie, Twój proces budowy jest całkowicie odporny na przerwania połączenia sieciowego, problemy z SSL lub limity częstotliwości API.
- Silne typy TypeScript:Bezpośrednie zaimportowanie lokalnego API Payload naturalnie wprowadza pełne autouzupełnianie IDE i ścisłą bezpieczność typów bezpośrednio do plików frontmatter Astro.
Zmiana architektury Korzystanie z bezserwerowego CMS nie oznacza, że musisz mieć do czynienia z wolnymi zewnętrznymi sieciami. Połączenie Astro bezpośrednio z lokalnym API Payload daje Ci elastyczność systemu bezserwerowego z surową prędkością klasycznego frameworku monolitycznego.