Webhook · valós-idejű eseményszállítás
Kapcsolódó szolgáltatás Egyedi szoftverfejlesztés
MEGHATÁROZÁS
Egy URL, amit egy külső szolgáltató meghív, amikor valami történik nálad. Magyar webshopnál tipikus: SimplePay webhook (fizetés sikeres / hibás), Stripe webhook (előfizetés módosítás), GLS webhook (csomag-státusz frissült), NAV webhook (számla-státusz, sikeres / hibás beadás), Mailchimp webhook (e-mail-feliratkozás). A webhook előnye: valós-idejű (nem kell óránként lekérdezni). Hátránya: kell aláírás-ellenőrzés (különben támadó hamisíthatja), kell hibakezelés (ha a saját rendszered nem válaszol, az adat elveszhet). Webhook-fogadó beépítése egy szolgáltatóra 100-300 ezer Ft, 2-5 nap.
- Docker→
Egy app-ot a függőségeivel együtt egy image-be csomagolunk, amiből futtatható container indul - így mindenhol ugyanúgy fut, fejlesztői gépen és szerveren is. A „nálam működik” innentől nem kifogás.
- CI/CD→
Continuous Integration / Delivery: minden commitot automatikusan buildelünk, tesztelünk és (ha kéred) deployolunk. Ez a pipeline teszi lehetővé, hogy naponta sokszor, biztonságosan szállítsunk - kézi hibák nélkül.
- Blue-Green Deployment→
Két azonos környezetet futtatunk: a blue él, a green az új verzió. Ha a green leellenőrzött, átkapcsoljuk rá a forgalmat; baj esetén egy mozdulattal visszaváltunk. Zero-downtime release, azonnali rollback.
- Horizontális skálázás→
Több gépet/instance-ot adunk hozzá (scale out), nem egy nagyobbat (vertikális, scale up). Stateless szolgáltatásoknál ez a nyerő: olcsóbb, rugalmasabb, nincs felső plafon. State-et viszont külön tárba tesszük.
- Load balancer→
A bejövő forgalmat több instance között osztja szét - ez a bejárati ajtó, ami redundanciát és sima skálázást ad. Health checkekkel kiveszi a halott instance-okat, így egy gép kiesése nem látszik a felhasználónak.
- Distributed tracing→
Egy kérést végigkövetünk az összes szolgáltatáson egy trace ID-val (pl. OpenTelemetry). Microservice-rendszerben így derül ki másodpercek alatt, melyik szolgáltatás lassított be vagy hibázott - nem találgatunk.