Utforsk API-gatewayer
Løsningen kan inneholde flere front- og baktjenester. Hvordan vet en klient hvilke endepunkter som skal kalles i dette scenarioet? Hva skjer når nye tjenester innføres, eller eksisterende tjenester refaktoreres? Hvordan håndterer tjenester SSL-avslutning, godkjenning og andre bekymringer?
Gatewayen for API-administrasjon (også kalt dataplan eller kjøretid) er tjenestekomponenten som er ansvarlig for proxy-API-forespørsler, bruk av policyer og innsamling av telemetri.
En API-gateway ligger mellom klienter og tjenester. Det fungerer som en omvendt proxy, ruting forespørsler fra klienter til tjenester. Det kan også utføre ulike kryssskjærende oppgaver, for eksempel godkjenning, SSL-avslutning og rentebegrensning. Hvis du ikke distribuerer en gateway, må klienter sende forespørsler direkte til serverdeltjenester. Det er imidlertid noen potensielle problemer med å eksponere tjenester direkte til klienter:
- Det kan resultere i kompleks klientkode. Klienten må holde oversikt over flere endepunkter og håndtere feil på en robust måte.
- Det oppretter kobling mellom klienten og serverdel. Klienten må vite hvordan de individuelle tjenestene er nedbrutt. Det gjør det vanskeligere å vedlikeholde klienten og også vanskeligere å refaktorere tjenester.
- En enkelt operasjon kan kreve kall til flere tjenester.
- Hver offentlig tjeneste må håndtere bekymringer som godkjenning, SSL og begrensning av klientfrekvens.
- Tjenester må vise en klientvennlig protokoll, for eksempel HTTP eller WebSocket. Dette begrenser valg av kommunikasjonsprotokoller.
- Tjenester med offentlige endepunkter er en potensiell angrepsoverflate, og må herdes.
En gateway bidrar til å løse disse problemene ved å koble klienter fra tjenester.
Administrert og selvadministrert
API Management tilbyr både administrerte og selvadministrerte gatewayer:
administrerte – den administrerte gatewayen er standard gatewaykomponent som distribueres i Azure for hver API Management-forekomst i hvert tjenestenivå. Med den administrerte gatewayen flyter all API-trafikk gjennom Azure uavhengig av hvor serverdele som implementerer API-ene driftes.
selvbetjent – den selvbetjente gatewayen er en valgfri, beholderversjon av standard administrert gateway. Det er nyttig for hybrid- og flerskyscenarioer der det er et krav om å kjøre gatewayene utenfor Azure i de samme miljøene der API-serverdeler driftes. Den selvbetjente gatewayen gjør det mulig for kunder med hybrid IT-infrastruktur å administrere API-er som driftes lokalt og på tvers av skyer fra én enkelt API Management-tjeneste i Azure.