Kusuma InterSystems API Maneja (+ webinar)

Isu nguva pfupi yadarika yakaburitsa InterSystems API Manager (IAM), chinhu chitsva cheInterSystems IRIS Data Platform inopa kuoneka, kutonga, uye manejimendi ewebhu API traffic pane yese IT zvivakwa.

Muchinyorwa chino, ini ndinokuratidza maitiro ekumisikidza IAM uye kuratidza mamwe eakawanda masimba anowanikwa kwauri neIAM. InterSystems API Maneja inobvumidza iwe ku:

  • Monitor iyo API, nzwisisa kuti ndiani anoshandisa API, ndeapi APIs anonyanya kufarirwa, uye ndeapi anoda kuvandudzwa.
  • Dzora uyo anoshandisa API uye kudzikisira API kushandiswa kubva nyore kupinda zvirambidzo kune kukumbira-kwakavakirwa zvirambidzo - une tsika yekudzora uye unogona nekukurumidza kupindura kuchinja kwe API mashandisiro maitiro.
  • Chengetedza APIs uchishandisa centralized kuchengetedza masisitimu akadai OAuth2.0, LDAP kana Key Token Authentication.
  • Ita kuti zvive nyore kune vechitatu-bato vanogadzira uye uvape iyo yepamusoro API ruzivo nekuvhura yakazvitsaurira yekuvandudza portal.
  • Skerera iyo API uye ive nechokwadi chidiki chekupindura latency.

API manejimendi yakakosha kune shanduko kuenda kuSOA kana microservice architecture, kurerutsa kubatanidzwa pakati pemunhu (micro) masevhisi, zvichiita kuti awanikwe kune vese vekunze nevatengi vemukati. Nekuda kweizvozvo, maAPI matsva anova nyore kugadzira, kuchengetedza, uye kushandisa.

Kana iwe uri kutoshandisa InterSystems IRIS, unogona kuwedzera iyo IAM sarudzo kune rezinesi rako. Iyo IAM sarudzo ndeyemahara kune InterSystems IRIS vatengi, asi iwe unofanirwa kukumbira kiyi nyowani rezinesi kubva kuInterSystems kuti utange kushandisa IAM.

Kana iwe usati washandisa InterSystems IRIS uye uri kuronga kuyedza InterSystems API Maneja, ndapota taura neInterSystems.

Kutanga uye Kuisa

InterSystems vatengi vanogona kudhawunirodha iyo IAM kugovera kubva pawebhusaiti WRC chikamu "Software Distribution" uye mhanya seDocker mudziyo. Minimum system zvinodiwa:

Pakutanga, iwe unofanirwa kudhawunirodha mufananidzo weDocker (Zvakakosha! Iyo archive neWRC haisi yeDocker mufananidzo, unofanirwa kuiburitsa, pane mufananidzo weDocker mukati):

docker load -i iam_image.tar

Uyu murairo uchaita kuti mufananidzo weIAM uwanikwe kuzoshandiswa gare gare pane server yako. IAM inomhanya semudziyo wakasiyana, saka unogona kuiyera wakazvimirira kubva kuInterSystems IRIS. Kumhanya IAM kunoda kuwana InterSystems IRIS kudhawunirodha rezinesi.

Gadzira InterSystems IRIS:

  • Vhura iyo web application /api/IAM
  • Bvumira mushandisi IAM
  • Chinja password yemushandisi IAM

Zvino ngatitangei IAM mudziyo. Mune archive uchawana zvinyorwa iam-setup yeWindows uye Unix (uye Mac). Aya ma script achakubatsira iwe kuseta nharaunda zvinosiyana nenzira kwayo, zvichibvumira iyo IAM mudziyo kumisa kubatana neInterSystems IRIS. Heino muenzaniso weiyo script inoshanda paMac:

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

Sezvauri kuona, iyo yakazara mufananidzo zita, IP kero, InterSystems IRIS chiteshi uye password yemushandisi weIAM ndizvo zvese zvaunoda kuti utange.

Panzvimbo yekumhanyisa script, unogona kuseta nharaunda zvinosiyana nemaoko:

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

Kutanga

Zvino ngatitangei IAM nekumhanyisa murairo:

docker-compose up -d

Uyu murairo unoronga midziyo yeIAM uye inova nechokwadi chekuti zvese zviri kufamba nemazvo. Mamiriro emidziyo anotariswa uchishandisa murairo:

docker ps

Vhura iyo admin interface mubrowser yako localhost:8002.

Kusuma InterSystems API Maneja (+ webinar)

Ikozvino haina chinhu nekuti inzvimbo nyowani. Ngatichinje izvozvo. IAM inotsigira pfungwa yenzvimbo dzekushandira yekukamura maAPI kuita mamodule uye/kana mirairo. Enda kune "default" nzvimbo yebasa yatichashandisa pakuedza kwedu.

Kusuma InterSystems API Maneja (+ webinar)

Huwandu hwezvikumbiro zveiyi nzvimbo yekushandira huchiri zero, asi iwe unozowana pfungwa yezvakakosha IAM pfungwa mune menyu kuruboshwe. Zvinhu zviviri zvekutanga: Masevhisi uye Nzira ndidzo dzakanyanya kukosha:

  • Sevhisi ndiyo API yatinoda kupa mukana kune vatengi. Saka, iyo REST API muInterSystems IRIS iSevhisi, sezvazviri, semuenzaniso, iyo Google API kana iwe uchida kuishandisa.
  • Iyo nzira inosarudza kuti ndeipi Sevhisi zvikumbiro zvinouya zvinofanirwa kutumirwa. Imwe neimwe nzira ine yakatarwa seti yemamiriro, uye kana yasangana, chikumbiro chinotumirwa kune inoenderana Service. Semuenzaniso, Nzira inogona kuenzanisa IP, sender domain, HTTP nzira, zvikamu zveURI, kana musanganiswa weiyi mienzaniso.

sevhisi

Ngatigadzirei InterSystems IRIS Sevhisi, ine zvinotevera maitiro:

munda
ukoshi
tsananguro

zita
Obert
Zita rebasa

hondo
IP
InterSystems IRIS server host kana ip

poti
52773
InterSystems IRIS server web port

Nzira
/api/atelier
Root nzira

Protocol
http:
Protocol

Siya izvo zvakasara zvakakosha senge default. Baya bhatani Create uye nyora pasi ID yeSevhisi yakagadzirwa.

Nzira

Zvino ngatigadzirirei nzira:

munda
ukoshi
tsananguro

Nzira
/api/atelier
Root nzira

Protocol
http:
Protocol

service.id
mutungamiri kubva ku3
Sevhisi (ID kubva padanho rapfuura)

Siya izvo zvakasara zvakakosha senge default. Baya bhatani Create uye nyora pasi ID yeNzira yakagadzirwa. By default, IAM inoteerera zvikumbiro zvinouya pachiteshi 8000. Zvino zvikumbiro zvinotumirwa kune http://localhost:8000 uye kutanga /api/atelier inotungamirwa kuInterSystems IRIS.

Kuedza

Ngatiedzei kugadzira chikumbiro muREST mutengi (ndiri kushandisa post-man).

Kusuma InterSystems API Maneja (+ webinar)

Ngatitumirei chikumbiro cheGET ku http://localhost:8000/api/atelier/ (usakanganwe / pakupera) uye gamuchira mhinduro kubva kuInterSystems IRIS. Chikumbiro chega chega chinoenda neIAM iyo inounganidza metrics:

  • HTTP mamiriro kodhi.
  • Kunonoka.
  • Monitoring (kana yakagadzirirwa).

Ndakaita zvimwe zvikumbiro zvishoma (kusanganisira zvikumbiro zviviri kune zvisipo zvekupedzisira senge / api/atelier/est/), mibairo yacho inokurumidza kuoneka mudhibhodhi:

Kusuma InterSystems API Maneja (+ webinar)

Kushanda nemapulagi

Iye zvino zvatava neNzira yakagadziridzwa, tinokwanisa kubata API yedu. Tinogona kuwedzera zvinhu zvinoenderana nebasa redu.

Nzira yakajairika yekushandura maitiro eAPI ndeyekuwedzera plugin. Mapulagi anoparadzanisa mashandiro emunhu uye anogona kubatana neIAM pasi rose kana kumasangano ega ega, akadai seMushandisi (boka revashandisi), Sevhisi kana Route. Tichatanga nekuwedzera Rate Limiting plugin kuNzira. Kuti timise chinongedzo pakati pe plugin uye nzira, isu tinoda yakasarudzika identifier (ID) yenzira.

Kudzikamisa nhamba yezvikumbiro

Dzvanya Plugins mune yekuruboshwe sidebar menyu. Iwe unogona kuona ese anoshanda plugins pachiratidziro ichi, asi sezvo iyi IAM sevha iri nyowani, hapasati pari kushanda plugins. Saka enda kunhanho inotevera nekudzvanya "New Plugin".

Iyo plugin yatinoda iri muchikamu che "Traffic Control" uye inonzi "Rate Limiting". Sarudza iyo. Kune akati wandei marongero aunogona kuseta pano, asi isu tinongotarisira nezve minda miviri:

munda
ukoshi
tsananguro

route_id
ID
Nzira ID

config.minute
5
Nhamba yezvikumbiro paminiti

Ndizvo zvose. Iyo plugin inogadziriswa uye inoshanda. Ziva kuti tinogona kusarudza nguva dzakasiyana, seminiti, awa kana zuva. Zvirongwa zvinogona kusanganiswa (semuenzaniso, 1000 zvikumbiro paawa uye panguva imwe chete 100 zvikumbiro paminiti). Ndakasarudza maminetsi nekuti zvinoita kuti zvive nyore kutarisa kushanda kwe plugin.

Kana iwe ukatumira chikumbiro chimwe chete zvakare muPostman, uchaona kuti mhinduro yadzoserwa nemimwe misoro miviri:

  • XRateLimit-Limit-miniti: 5
  • XRateLimit-Yasara-miniti: 4

Izvi zvinoudza mutengi kuti inogona kuita zvikumbiro zvishanu paminiti uye inogona kuita zvimwe zvikumbiro zvina munguva iripo.

Kusuma InterSystems API Maneja (+ webinar)

Kana iwe ukaita chikumbiro chimwe chete kakawanda, unozopedzisira wapererwa nechikamu uye panzvimbo pacho wogashira HTTP mamiriro kodhi ye429 ine inotevera mhinduro body:

Kusuma InterSystems API Maneja (+ webinar)

Mirira kweminiti uye uchakwanisa kutumira zvikumbiro zvakare.

Iyi ndiyo nzira iri nyore iyo inokutendera iwe kuti:

  • Chengetedza backend kubva pakuremerwa kwemutoro.
  • Udza vatengi kuti vangani zvikumbiro zvavanogona kuita.
  • Monetize iyo API.

Iwe unogona kuseta kukosha kweakasiyana nguva dzenguva uye nekudaro gadzirisa API traffic pane imwe nguva yenguva. Ngatitii unobvumira mazana matanhatu ekukumbira paawa pane imwe nzira. Paavhareji pane zvikumbiro gumi paminiti. Asi hapana chinotadzisa mutengi kuzadzisa zvese zvikumbiro mazana matanhatu muminiti yekutanga yeawa. Zvichida izvi ndizvo zvaunoda. Iwe unogona kuda kuwana yakawedzera kunyange mutoro mukati meawa. Nekuisa kukosha kwemunda config.minute Kukosha kwemakumi maviri kunovimbisa kuti vashandisi vako havaite zvinopfuura makumi maviri zvikumbiro paminiti uye mazana matanhatu zvikumbiro paawa. Izvi zvinobvumira mapikisi madiki pane imwe miniti imwe kana ichienzaniswa neavhareji yakazara yekuyerera yezvikumbiro gumi paminiti, asi vashandisi havagone kushandisa quota yeawa kweminiti imwe. Iye zvino vachada angangoita maminitsi makumi matatu kuti vashandise zvese zvavanokumbira. Vatengi vanogashira mamwe misoro pane yega yega nguva yakatarwa, semuenzaniso:

HTTP Header
ukoshi

X-RateLimit-Limit-awa
600

X-RateLimit-Yasara-awa
595

X-RateLimit-Limit-miniti
20

X-RateLimit-Yasara-miniti
16

Ehe, kune dzakawanda nzira dzakasiyana dzekugadzirisa miganho yemibvunzo zvichienderana nezvaunoda kuzadzisa.

zvakawanikwa

Ini ndichapedzisa pano, ndinofunga kuti pane zvakakwana zvechinyorwa chekutanga nezve InterSystems API Manager. Isu takangoshandisa imwe yeanopfuura makumi mana plugins. Pane zvimwe zvakawanda zvinonakidza zvinhu zvaunogona kuita neIAM:

  • Wedzera yepakati yekusimbisa michina yeako ese maAPI.
  • Cheresa mutoro uchishandisa chiyero chemutoro pane akawanda masevhisi.
  • Wedzera mashandiro matsva uye gadziriso dzebug kune vateereri vebvunzo isati yazara yakazara.
  • Ipa vagadziri vemukati nekunze vane yakatsaurwa yewebhu portal inonyora ese maAPI.
  • Cache inokumbira kuderedza nguva yekupindura uye kuderedza mutoro pane system backend.

nezvakanyorwa

Webinar

Tinokukoka iwe kune webinar "API Management neInterSystems API Management", iyo ichaitika munaNovember 21 pa10: 00 nguva yeMoscow (GMT + 3).
InterSystems API Maneja (IAM) chinhu chitsva cheInterSystems IRIS Data Platform inopa kutarisa, kutonga uye kutonga kwetraffic kuenda/kubva pawebhu APIs mukati meiyo IT zvivakwa. Pawebinar isu ticharatidza zvakakosha kugona kweInterSystems API Management:

  • API traffic yekutarisa maturusi.
  • API traffic controls, kusanganisira bandwidth control, kudzikisira nhamba yeAPI mafoni, kuchengetedza rondedzero yeanotenderwa uye akarambwa mazita eIP kero, nezvimwe.
  • API kuchengetedza zvigadziriso zvekushandisa.
  • Developer portal yekushambadzira inopindirana API zvinyorwa.
  • Nzvimbo imwe chete yekuwana iyo API.

Iyo webinar inoitirwa vavaki, vagadziri uye system administrator.

Kunyoresa kunodiwa!

Source: www.habr.com

Voeg