Utforska API-gatewayer

Slutförd

Lösningen kan innehålla flera front- och serverdelstjänster. Hur vet en klient vilka slutpunkter som ska anropas i det här scenariot? Vad händer när nya tjänster introduceras eller befintliga tjänster omstruktureras? Hur hanterar tjänster SSL-avslutning, autentisering och andra problem?

API Management-gatewayen (kallas även för dataplan eller körning) är den tjänstkomponent som ansvarar för att proxya API-begäranden, tillämpa principer och samla in telemetri.

En API-gateway finns mellan klienter och tjänster. Den fungerar som en omvänd proxy och dirigerar begäranden från klienter till tjänster. Den kan också utföra olika övergripande uppgifter som autentisering, SSL-avslutning och hastighetsbegränsning. Om du inte distribuerar en gateway måste klienter skicka begäranden direkt till serverdelstjänster. Det finns dock vissa potentiella problem med att exponera tjänster direkt för klienter:

  • Det kan resultera i komplex klientkod. Klienten måste hålla reda på flera slutpunkter och hantera fel på ett motståndskraftigt sätt.
  • Den skapar koppling mellan klienten och serverdelen. Klienten behöver veta hur de enskilda tjänsterna bryts ned. Det gör det svårare att underhålla klienten och även svårare att omstrukturera tjänster.
  • En enda åtgärd kan kräva anrop till flera tjänster.
  • Varje offentlig tjänst måste hantera problem som autentisering, SSL och klientfrekvensbegränsning.
  • Tjänsterna måste exponera ett klientvänligt protokoll, till exempel HTTP eller WebSocket. Detta begränsar valet av kommunikationsprotokoll.
  • Tjänster med offentliga slutpunkter är en potentiell attackyta och måste härdas.

En gateway hjälper till att lösa dessa problem genom att frånkoppla klienter från tjänster.

Hanterad och lokalt installerad

API Management erbjuder både hanterade och lokalt installerade gatewayer:

  • Hanterad – Den hanterade gatewayen är standardgatewaykomponenten som distribueras i Azure för varje API Management-instans på varje tjänstnivå. Med den hanterade gatewayen flödar all API-trafik via Azure oavsett var serverdelar som implementerar API:erna finns.

  • Lokalt installerad – Den lokalt installerade gatewayen är en valfri, containerbaserad version av den hanterade standardgatewayen. Det är användbart för hybrid- och multimolnscenarier där det finns ett krav på att köra gatewayerna utanför Azure i samma miljöer där API-serverdelar finns. Med den lokala gatewayen kan kunder med hybrid-IT-infrastruktur hantera API:er som finns lokalt och mellan moln från en enda API Management-tjänst i Azure.