Við kynnum InterSystems API Manager (+ vefnámskeið)

Við gáfum nýlega út InterSystems API Manager (IAM), nýjan þátt í InterSystems IRIS Data Platform sem veitir sýnileika, stjórnun og stjórnun á vef API umferð yfir upplýsingatækniinnviði.

Í þessari grein mun ég sýna þér hvernig á að setja upp IAM og sýna fram á nokkra af mörgum möguleikum sem eru í boði fyrir þig með IAM. InterSystems API Manager gerir þér kleift að:

  • Fylgstu með API, skildu hver notar API, hvaða API eru vinsælust og hver þarfnast endurbóta.
  • Stjórnaðu hver notar API og takmarkaðu API notkun frá einföldum aðgangstakmörkunum til takmarkana sem byggjast á beiðni - þú hefur sérsniðna stjórn og getur fljótt brugðist við breyttum API neyslumynstri.
  • Örugg API með miðlægri öryggisaðferðum eins og OAuth2.0, LDAP eða Key Token Authentication.
  • Auðveldaðu þróunaraðilum þriðja aðila og veittu þeim betri API upplifun með því að opna sérstaka þróunargátt.
  • Stækkaðu API og tryggðu lágmarks svörunartíma.

API stjórnun er nauðsynleg fyrir umskipti yfir í SOA eða örþjónustuarkitektúr, sem einfaldar samþættingu milli einstakra (ör)þjónustu, sem gerir þær aðgengilegar öllum ytri og innri neytendum. Fyrir vikið verður auðveldara að búa til, viðhalda og neyta ný API.

Ef þú ert nú þegar að nota InterSystems IRIS geturðu bætt IAM valkostinum við leyfið þitt. IAM valkosturinn er ókeypis fyrir InterSystems IRIS viðskiptavini, en þú verður að biðja um nýjan leyfislykil frá InterSystems til að byrja að nota IAM.

Ef þú ert ekki enn að nota InterSystems IRIS og ætlar að prófa InterSystems API Manager, vinsamlegast hafðu samband við InterSystems.

Byrjað og uppsetning

Viðskiptavinir InterSystems geta hlaðið niður IAM dreifingunni af vefsíðunni WRC kafla „Dreifing hugbúnaðar“ og keyra sem Docker gámur. Lágmarks kerfiskröfur:

Upphaflega þarftu að hlaða niður Docker myndinni (Mikilvægt! Skjalasafnið með WRC er ekki Docker mynd, þú þarft að pakka henni upp, það er Docker mynd inni):

docker load -i iam_image.tar

Þessi skipun mun gera IAM myndina aðgengilega til notkunar síðar á þjóninum þínum. IAM keyrir sem sérstakur gámur, svo þú getur skalað hann sjálfstætt frá InterSystems IRIS. Til að keyra IAM þarf aðgang að InterSystems IRIS til að hlaða niður leyfi.

Settu upp InterSystems IRIS:

  • Virkjaðu vefforritið /api/IAM
  • Virkja notanda IAM
  • Breyta lykilorði notanda IAM

Nú skulum við hefja IAM gáminn. Í skjalasafninu er að finna handrit iam-setup fyrir Windows og Unix (og Mac). Þessar forskriftir munu hjálpa þér að stilla umhverfisbreyturnar rétt, sem gerir IAM ílátinu kleift að koma á tengingu við InterSystems IRIS. Hér er dæmi um handritið sem keyrir á Mac:

source ./iam-setup.sh 
Welcome to the InterSystems IRIS and InterSystems API Manager (IAM) setup script.
This script sets the ISC_IRIS_URL environment variable that is used by the IAM container to get the IAM license key from InterSystems IRIS.
Enter the full image repository, name and tag for your IAM docker image: intersystems/iam:0.34-1-1
Enter the IP address for your InterSystems IRIS instance. The IP address has to be accessible from within the IAM container, therefore, do not use "localhost" or "127.0.0.1" if IRIS is running on your local machine. Instead use the public IP address of your local machine. If IRIS is running in a container, use the public IP address of the host environment, not the IP address of the IRIS container. xxx.xxx.xxx.xxx               
Enter the web server port for your InterSystems IRIS instance: 52773
Enter the password for the IAM user for your InterSystems IRIS instance: 
Re-enter your password: 
Your inputs are:
Full image repository, name and tag for your IAM docker image: intersystems/iam:0.34-1-1
IP address for your InterSystems IRIS instance: xxx.xxx.xxx.xxx
Web server port for your InterSystems IRIS instance: 52773
Would you like to continue with these inputs (y/n)? y
Getting IAM license using your inputs...
Successfully got IAM license!
The ISC_IRIS_URL environment variable was set to: http://IAM:****************@xxx.xxx.xxx.xxx:52773/api/iam/license
WARNING: The environment variable is set for this shell only!
To start the services, run the following command in the top level directory: docker-compose up -d
To stop the services, run the following command in the top level directory: docker-compose down
URL for the IAM Manager portal: http://localhost:8002

Eins og þú sérð er allt myndnafn, IP tölu, InterSystems IRIS tengi og lykilorð fyrir IAM notandann allt sem þú þarft til að byrja.

Í stað þess að keyra skriftu geturðu stillt umhverfisbreytur handvirkt:

ISC_IAM_IMAGE=intersystems/iam:0.34-1-1
ISC_IRIS_URL=http://IAM:<PASS>@<IP>:<PORT>/api/iam/license

Ræstu

Nú skulum við ræsa IAM með því að keyra skipunina:

docker-compose up -d

Þessi skipun skipuleggur IAM gámana og tryggir að allt gangi rétt. Staða gáma er skoðuð með skipuninni:

docker ps

Opnaðu stjórnunarviðmótið í vafranum þínum localhost:8002.

Við kynnum InterSystems API Manager (+ vefnámskeið)

Það er tómt í bili vegna þess að það er alveg nýr hnútur. Breytum því. IAM styður hugmyndina um vinnusvæði til að skipta API í einingar og/eða skipanir. Farðu í "sjálfgefið" vinnusvæði sem við munum nota fyrir tilraunir okkar.

Við kynnum InterSystems API Manager (+ vefnámskeið)

Fjöldi beiðna fyrir þetta vinnusvæði er enn núll, en þú munt fá hugmynd um helstu IAM hugtökin í valmyndinni til vinstri. Fyrstu tveir þættirnir: Þjónusta og Leiðir eru mikilvægastir:

  • Þjónustan er API sem við viljum veita neytendum aðgang að. Þannig er REST API í InterSystems IRIS þjónusta, eins og til dæmis Google API ef þú vilt nota það.
  • Leiðin ákveður til hvaða þjónustu beiðnir sem berast skuli sendar. Hver leið hefur tiltekið sett af skilyrðum og ef þeim er fullnægt er beiðnin send til viðeigandi þjónustu. Til dæmis getur leið passað við IP, sendandalén, HTTP aðferðir, hluta af URI eða samsetningu þessara dæma.

Service

Við skulum búa til InterSystems IRIS þjónustu, með eftirfarandi gildum:

Field
Gildi
Lýsing

nafn
Iris
Þjónustuheiti

gestgjafi
IP
InterSystems IRIS miðlara gestgjafi eða ip

höfn
52773
InterSystems IRIS miðlara vefgátt

leið
/api/atelier
Rótarstígur

siðareglur
HTTP
Bókun

Skildu eftir gildin sem sjálfgefin. Smelltu á hnappinn Create og skrifaðu niður auðkenni þjónustunnar sem búið var til.

Leið

Nú skulum við búa til leið:

Field
Gildi
Lýsing

leið
/api/atelier
Rótarstígur

siðareglur
HTTP
Bókun

þjónustu.auðkenni
leiðarvísir frá 3
Þjónusta (auðkenni frá fyrra skrefi)

Skildu eftir gildin sem sjálfgefin. Smelltu á hnappinn Create og skrifaðu niður auðkenni stofnaðrar leiðar. Sjálfgefið er að IAM hlustar eftir beiðnum sem berast á höfn 8000. Nú eru beiðnir sendar til http://localhost:8000 og byrja með /api/atelier er vísað til InterSystems IRIS.

Prófun

Við skulum reyna að búa til beiðni í REST biðlara (ég er að nota Póstþjónn).

Við kynnum InterSystems API Manager (+ vefnámskeið)

Sendum GET beiðni til http://localhost:8000/api/atelier/ (ekki gleyma / í lokin) og fá svar frá InterSystems IRIS. Hver beiðni fer í gegnum IAM sem safnar mælingum:

  • HTTP stöðukóði.
  • Seinkun.
  • Vöktun (ef það er stillt).

Ég lagði fram nokkrar beiðnir í viðbót (þar á meðal tvær beiðnir um endapunkta sem ekki eru til eins og /api/atelier/est/), niðurstöðurnar eru strax sýnilegar á mælaborðinu:

Við kynnum InterSystems API Manager (+ vefnámskeið)

Að vinna með viðbætur

Nú þegar við erum með leið stillta getum við stjórnað API okkar. Við getum bætt við eiginleikum sem munu bæta þjónustu okkar.

Algengasta leiðin til að breyta hegðun API er að bæta við viðbót. Viðbætur einangra einstaka virkni og hægt er að tengja við IAM annað hvort á heimsvísu eða aðeins við einstaka aðila, svo sem notanda (hópur notenda), þjónustu eða leið. Við byrjum á því að bæta taxtatakmörkunarviðbótinni við leiðina. Til að koma á tengingu milli viðbótarinnar og leiðarinnar þurfum við einstakt auðkenni (ID) leiðarinnar.

Takmörkun á fjölda beiðna

Smelltu á Plugins í vinstri hliðarstikunni. Þú getur séð öll virku viðbæturnar á þessum skjá, en þar sem þessi IAM þjónn er nýr eru engar virkar viðbætur ennþá. Svo haltu áfram í næsta skref með því að smella á „New Plugin“.

Viðbótin sem við þurfum er í flokknum „umferðarstjórnun“ og heitir „Taxtatakmörkun“. Veldu það. Það eru nokkrar stillingar sem þú getur stillt hér, en okkur er aðeins sama um tvo reiti:

Field
Gildi
Lýsing

leið_auðkenni
ID
Leiðarauðkenni

config.mínúta
5
Fjöldi beiðna á mínútu

Það er allt og sumt. Viðbótin er stillt og virk. Athugaðu að við getum valið mismunandi tímabil, svo sem mínútu, klukkustund eða dag. Hægt er að sameina stillingarnar (til dæmis 1000 beiðnir á klukkustund og á sama tíma 100 beiðnir á mínútu). Ég valdi mínútur vegna þess að það gerir það auðvelt að athuga virkni viðbótarinnar.

Ef þú sendir sömu beiðni aftur í Postman muntu sjá að svarið er skilað með 2 aukahausum:

  • XRateLimit-Limit-mínúta: 5
  • XRateLimit-Eftir-mínúta: 4

Þetta segir viðskiptavininum að það geti gert allt að 5 beiðnir á mínútu og getur gert 4 beiðnir í viðbót í núverandi tímaramma.

Við kynnum InterSystems API Manager (+ vefnámskeið)

Ef þú leggur fram sömu beiðnina aftur og aftur muntu að lokum klárast af tiltækum kvóta og færð í staðinn HTTP stöðukóða 429 með eftirfarandi svarhluta:

Við kynnum InterSystems API Manager (+ vefnámskeið)

Bíddu aðeins og þú munt geta sent inn beiðnir aftur.

Þetta er þægilegur vélbúnaður sem gerir þér kleift að:

  • Verndaðu bakendann fyrir álagshækkunum.
  • Segðu viðskiptavinum hversu margar beiðnir þeir geta lagt fram.
  • Tekjur af API.

Þú getur stillt gildi fyrir mismunandi tímabil og jafnað þannig API umferð yfir ákveðinn tíma. Segjum að þú leyfir 600 beiðnir á klukkustund á tiltekinni leið. Að meðaltali eru 10 beiðnir á mínútu. En ekkert kemur í veg fyrir að viðskiptavinurinn geti klárað allar 600 beiðnirnar á fyrstu mínútu klukkustundarinnar. Kannski er þetta það sem þú þarft. Þú gætir viljað ná jafnari álagi á klukkutíma. Með því að stilla reitgildið config.minute Gildið 20 tryggir að notendur þínir geri ekki meira en 20 beiðnir á mínútu og 600 beiðnir á klukkustund. Þetta gerir ráð fyrir litlum toppum á einnar mínútu millibili miðað við að fullu meðaltali flæði upp á 10 beiðnir á mínútu, en notendur geta ekki notað klukkutímakvótann í eina mínútu. Nú þurfa þeir að minnsta kosti 30 mínútur til að nota allar beiðnir sínar. Viðskiptavinir munu fá viðbótarhausa fyrir hvert tiltekið tímabil, til dæmis:

HTTP haus
Gildi

X-RateLimit-Limit-klukkutími
600

X-RateLimit-Remaining-Time
595

X-RateLimit-Limit-mínúta
20

X-RateLimit-Remaining-mínúta
16

Auðvitað eru margar mismunandi leiðir til að stilla fyrirspurnamörk eftir því hverju þú vilt ná.

Niðurstöður

Ég ætla að klára hér, ég held að það sé nóg efni fyrir fyrstu greinina um InterSystems API Manager. Við notuðum aðeins eina af yfir 40 viðbótum. Það er margt fleira áhugavert sem þú getur gert með IAM:

  • Bættu við miðlægri auðkenningarkerfi fyrir öll API þín.
  • Stækkaðu álagið með því að nota álagsjafnara yfir margar þjónustur.
  • Bættu við nýrri virkni og villuleiðréttingum við prófhóp áður en full uppfærsla fer fram.
  • Veittu innri og ytri þróunaraðilum sérstaka vefgátt sem skráir öll API.
  • Skyndiminni biður um að draga úr viðbragðstíma og draga úr álagi á bakenda kerfisins.

tilvísanir

Webinar

Við bjóðum þér á vefnámskeiðið „API Management with InterSystems API Management“ sem fer fram 21. nóvember klukkan 10:00 að Moskvutíma (GMT+3).
InterSystems API Manager (IAM) er nýr hluti af InterSystems IRIS Data Platform sem veitir eftirlit, stjórnun og stjórnun umferðar til/frá vef API innan upplýsingatækniinnviða. Á vefnámskeiðinu munum við sýna fram á lykilgetu InterSystems API Management:

  • API umferðareftirlitstæki.
  • API umferðarstýringar, þar á meðal bandbreiddarstýring, takmörkun á fjölda API símtölum, viðhalda listum yfir leyfðar og neitar lista yfir IP tölur o.s.frv.
  • API öryggisstillingartæki.
  • Forritaragátt til að birta gagnvirka API skjöl.
  • Einn aðgangsstaður að API.

Vefnámskeiðið er ætlað arkitektum, forriturum og kerfisstjórum.

Skráning er nauðsynleg!

Heimild: www.habr.com

Bæta við athugasemd