Bez limitu ruchu: co edge cache daje małemu sklepowi
Najgorszy możliwy scenariusz w e-commerce: dostajesz ruch, o którym marzyłeś, i właśnie wtedy sklep przestaje się otwierać.
Sklep, który wolno się ładuje, traci klientów jeszcze zanim zobaczą produkt. Cache na brzegu sieci sprawia, że strona złożona raz trafia do kolejnych klientów z pamięci - a nagły skok ruchu nie spada w całości na serwer. To nie jest temat dla dużych. To temat dla każdego, kto może trafić na viral.
Co się dzieje, gdy klient klika w link
Bez żargonu: klient klika, jego przeglądarka pyta serwer „daj mi tę stronę", serwer musi ją złożyć - pobrać produkt z bazy, sprawdzić stan magazynowy, doliczyć promocję, wyrenderować HTML - i dopiero wtedy odesłać. Tak działa SSR, czyli renderowanie po stronie serwera.
Jeśli klientów jest pięciu, serwer robi to pięć razy i nikt nie zauważa. Jeśli klientów jest pięć tysięcy naraz, bo ktoś wrzucił Twój produkt na TikToka, serwer składa tę samą stronę pięć tysięcy razy - i w pewnym momencie przestaje nadążać. Strona zaczyna się ładować sekundę, potem trzy, potem w ogóle.
Cache: stronę składamy raz, podajemy wielu
Cache odwraca tę logikę. Zamiast składać tę samą stronę przy każdym wejściu, składamy ją raz i zapamiętujemy gotową. Kolejni klienci dostają wersję z pamięci - bez dotykania bazy danych, bez liczenia czegokolwiek od nowa.
Dla klienta różnica jest natychmiastowa: strona pojawia się od razu, zamiast po sekundzie „myślenia" serwera. Dla Ciebie różnica jest taka, że przy pięciu tysiącach wejść serwer nie wykonuje pięciu tysięcy razy tej samej pracy.
Zapamiętać da się tylko to, co jest takie samo dla wszystkich: kartę produktu, kategorię, stronę główną oglądaną przez anonimowego gościa. Checkout i strony zalogowanego klienta zawsze składają się na bieżąco, bo są tylko jego.
„Edge", czyli bliżej klienta
Drugi element to gdzie ta gotowa strona leży. Serwer sklepu stoi w jednym miejscu - jeśli klient jest daleko, dane muszą przebyć tę drogę, i to w obie strony.
Edge oznacza, że gotowa strona leży na brzegu sieci, w centrum danych blisko klienta. Sklepy na DoSwiftly działają na sieci Cloudflare: strona złożona dla pierwszego klienta trafia do pamięci centrum danych, przez które wszedł (o tym, które strony wolno tak zapamiętać, decyduje kod sklepu), a kolejni klienci z tej okolicy dostają ją stamtąd, zamiast czekać na odpowiedź serwera. Uczciwie: każde centrum danych ma własną pamięć, więc zysk rośnie razem z ruchem. Przy kilku wejściach dziennie niewiele się zmienia - przy viralu, gdy tę samą stronę otwierają tysiące ludzi, pracuje najmocniej. A o ten moment chodzi w tym tekście.
Świeżość: skąd cache wie, że cena się zmieniła
Naturalne pytanie: skoro strona jest zapamiętana, to co się stanie, gdy zmienię cenę albo skończy się stan magazynowy? Czy klient zobaczy starą wersję?
Przez chwilę - tak, i warto to wiedzieć. Zapamiętana strona ma krótki termin ważności: w DoSwiftly gotowa strona na brzegu sieci żyje najwyżej dwie minuty. Zmiana ceny w panelu od razu unieważnia dane produktu po stronie platformy, a gotowa strona odświeża się, gdy minie jej termin. W praktyce przez minutę czy dwie po zmianie część klientów może jeszcze zobaczyć poprzednią cenę na karcie produktu.
To świadomy kompromis: bez tego okna każdy klient składałby stronę od nowa i przy viralu wrócilibyśmy do punktu wyjścia. Jeśli Twój sklep działa na Next.js, podobnie działa ISR (Incremental Static Regeneration): strona zapamiętana na serwerze odświeża się w tle, gdy minie czas ustawiony w kodzie sklepu - klient nie czeka na render, a treść dogania zmiany po chwili.
Dlaczego to nie jest problem „tylko dużych"
Duży sklep ma stały, przewidywalny ruch i budżet na infrastrukturę. Mały sklep ma coś gorszego: ruch nieprzewidywalny. Post influencera, wzmianka w mediach, dobrze trafiona kampania - i z dnia na dzień wchodzi dziesięć razy więcej ludzi niż zwykle.
To jest dokładnie ten moment, w którym sklep nie może paść. Nie dlatego, że stracisz jeden dzień sprzedaży - dlatego, że stracisz jedyną okazję, w której tylu ludzi na Ciebie patrzyło.
Czego nie robimy
Warto powiedzieć wprost: u nas ruch nie jest limitowany na żadnym planie. Wyprzedaż, kampania czy viral nie generują dopłat i nie włączają żadnego licznika odsłon - płacisz za opłacone zamówienia, nie za odwiedziny. Każdy plan działa na tej samej infrastrukturze i z tym samym cache: plan nie zmienia ani szybkości sklepu, ani tego, ilu ludzi może do niego wejść. Obowiązują tylko zabezpieczenia przed botami i nadużyciami - jednakowe dla wszystkich sklepów.
Bo limit ruchu w e-commerce to konstrukcja, która karze Cię dokładnie za to, na czym Ci najbardziej zależy: za sukces.
Sprawdź to na własnym sklepie
Doładuj saldo i sprzedawaj - bez abonamentu, bez umowy, bez karty na start.