API Gateway yra esminis architektūros komponentas microservices, veikiantis kaip centrinis taškas, per kurį visos klientų(programų mobiliesiems, žiniatinklio naršyklių, kitų programų) užklausos nukreipiamos į pagrindinį microservices. Tai padeda abstrahuoti įvairių paslaugų sudėtingumą client ir efektyviai valdo ryšį tarp paslaugų ir klientų.
Sistemoje microservices dažnai yra kelios mažos, nepriklausomai veikiančios paslaugos, įdiegtos ir pritaikytos atskirai. Tačiau kelių paslaugų komunikacijos ir atsakymų valdymas gali tapti sudėtingas ir sunkiai valdomas. Štai kodėl microservices sistemai reikalingas API Gateway, siūlantis šiuos privalumus:
Vieninga komunikacija
An API Gateway suteikia bendrą įėjimo tašką, kuriuo klientai gali bendrauti su visa microservices sistema. Klientams tereikia žinoti apie paslaugą API Gateway ir nereikia rūpintis, kaip bendrauti su kiekviena atskira paslauga.
Request Routing
Gali API Gateway nukreipti klientų užklausas į konkrečias antrines paslaugas. Taip išvengiama sudėtingumo, kai klientai turi nustatyti ir sekti kiekvienos paslaugos IP adresus arba URL adresus.
Versijų valdymas
Gali API Gateway valdyti API versijas ir nukreipti užklausas į konkrečias antrinių paslaugų versijas. Taip užtikrinama, kad versijos ir pakeitimai neprieštarautų ir netrukdytų klientams.
Bendras apdorojimas
Gali API Gateway atlikti įprastas užduotis, tokias kaip autentifikavimas, autorizacija, klaidų tikrinimas, statistika ir registravimas. Tai pašalina šias apdorojimo užduotis iš antrinių paslaugų ir padeda išlaikyti nuoseklumą bei saugumą.
Prašyti optimizavimo
Gali API Gateway optimizuoti užklausas apibendrindama ir suskirstydama jas į mažesnes užklausas, sukurdama didesnio našumo užklausas papildomoms paslaugoms.
Saugumas
Gali API Gateway vykdyti saugumo priemones, tokias kaip vartotojo autentifikavimas, prieigos kontrolės patikrinimai ir duomenų šifravimas, kad būtų užtikrintas bendras sistemos saugumas.
Apibendrinant galima pasakyti, kad API Gateway architektūroje veikia kaip tarpinis sluoksnis tarp klientų ir antrinių paslaugų microservices, užtikrinantis veiksmingą valdymą, optimizavimą ir saugumą.