Soo bandhigida InterSystems API Manager (+ webinar)

Waxaan dhawaan sii deynay InterSystems API Manager (IAM), qayb cusub oo ka mid ah InterSystems IRIS Data Platform kaas oo bixiya muuqalka, xakamaynta, iyo maamulka taraafikada API ee kaabayaasha IT-ga.

Maqaalkan, waxaan ku tusi doonaa sida loo sameeyo IAM oo aan ku tuso qaar ka mid ah awoodaha badan ee aad ka heli karto IAM. InterSystems API Manager wuxuu kuu ogolaanayaa inaad:

  • La soco API-ga, fahan cidda adeegsata API-ga, API-yada kuwa ugu caansan, iyo kuwa u baahan horumar.
  • Xakamee cidda adeegsata API oo xaddid isticmaalka API laga bilaabo xannibaadaha gelitaanka fudud ilaa xaddidaadaha codsiga ku salaysan - waxaad leedahay kontorool gaar ah oo si dhakhso ah ayaad uga jawaabi kartaa beddelka qaababka isticmaalka API.
  • Hubi API-yada adoo isticmaalaya habab amniga dhexe sida OAuth2.0, LDAP ama Xaqiijinta Calaamadaha Furaha.
  • U fududee soosaarayaasha qolo saddexaad oo sii khibrad sare oo API ah adigoo furaya bogga horumariyaha u go'an.
  • Cabbir API oo xaqiiji daahitaanka jawaabta ugu yar.

Maareynta API waxay lama huraan u tahay u gudbida SOA ama qaab-dhismeedka microservice, fududaynta is dhexgalka u dhexeeya adeegyada shaqsi (micro), taasoo ka dhigaysa inay diyaar u yihiin dhammaan macaamiisha dibadda iyo gudaha. Natiijo ahaan, API-yada cusub waxay noqdeen kuwo sahlan abuurista, ilaalinta, iyo isticmaalka.

Haddii aad hore u isticmaalaysay InterSystems IRIS, waxaad ku dari kartaa ikhtiyaarka IAM shatigaaga. Xulashada IAM waa u bilaash macaamiisha InterSystems IRIS, laakiin waa inaad ka codsataa fure shati cusub InterSystems si aad u bilowdo isticmaalka IAM.

Haddii aadan weli isticmaalin InterSystems IRIS oo aad qorsheyneyso inaad isku daydo InterSystems API Manager, fadlan la xiriir InterSystems.

Bilaabidda iyo Rakibaadda

Macaamiisha InterSystems waxay kala soo bixi karaan qaybinta IAM website-ka WRC qaybta "Qaybinta Software" oo u socodsii sidii weel Docker ah. Shuruudaha nidaamka ugu yar:

Marka hore, waxaad u baahan tahay inaad soo dejiso sawirka Docker (muhiim ah! Kaydka WRC ma aha sawir Docker, waxaad u baahan tahay inaad furto, gudaha sawirka Docker):

docker load -i iam_image.tar

Amarkani wuxuu ka dhigi doonaa sawirka IAM mid diyaar u ah isticmaalka dambe ee serverkaaga. IAM waxay u shaqeysaa sidii weel gaar ah, si aad si madaxbanaan ugu cabbiri karto InterSystems IRIS. Ku socodsiinta IAM waxay u baahan tahay gelitaanka InterSystems IRIS si loo soo dejiyo shatiga.

Deji InterSystems IRIS:

  • Daar codsiga shabakada /api/IAM
  • Daar isticmaalaha IAM
  • Beddel erayga sirta ah ee isticmaalaha IAM

Hadda aynu bilowno weelka IAM. Kaydka dhexdiisa waxaad ka heli doontaa qoraallo iam-setup loogu talagalay Windows iyo Unix (iyo Mac). Qoraalladani waxay kaa caawin doonaan inaad si sax ah u dejiso doorsoomayaasha deegaanka, taasoo u oggolaanaysa weelka IAM inay xiriir la sameyso InterSystems IRIS. Waa kan tusaale qoraalka ku socda 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

Sida aad arki karto, magaca sawirka buuxa, ciwaanka IP-ga, InterSystems IRIS port iyo erayga sirta ah ee isticmaalaha IAM ayaa ah waxa kaliya ee aad u baahan tahay si aad u bilowdo.

Intii aad samayn lahayd qoraal, waxaad gacanta ku dejin kartaa doorsoomayaasha deegaanka:

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

Buuxi

Hadda aynu bilowno IAM annagoo ku shaqaynayna amarka:

docker-compose up -d

Amarkani wuxuu habeeyaa weelasha IAM wuxuuna hubinayaa in wax walba ay si sax ah u socdaan. Xaaladda weelasha waxaa lagu hubiyaa amarka:

docker ps

Fur interface-ka maamulka ee biraawsarkaaga localhost:8002.

Soo bandhigida InterSystems API Manager (+ webinar)

Way madhan tahay hadda sababtoo ah waa buro gebi ahaanba cusub. Aan bedelno taas. IAM waxay taageertaa fikradda goobaha shaqada ee u qaybinta API-yada qaybo iyo/ama amarro. Tag goobta shaqada "default" oo aan u isticmaali doono tijaabooyinkeena.

Soo bandhigida InterSystems API Manager (+ webinar)

Tirada codsiyada goobta shaqada wali waa eber, laakiin waxaad ka heli doontaa fikradda fikradaha aasaasiga ah ee IAM ee liiska bidixda. Labada shay ee ugu horreeya: Adeegyada iyo Waddooyinka ayaa ah kuwa ugu muhiimsan:

  • Adeeggu waa API-ka aan rabno inaan siino marin u helka macaamiisha. Markaa, API REST ee InterSystems IRIS waa adeeg, sida, tusaale ahaan, Google API-ga haddii aad rabto inaad isticmaasho.
  • Waddada ayaa go'aamisa codsiyada soo gelaya Adeegga loo gudbinayo. Jid kastaa waxay leedahay shuruudo gaar ah, haddii la buuxiyo, codsiga waxaa loo diraa Adeegga u dhigma. Tusaale ahaan, Jidku wuxuu u dhigmi karaa IP, domainka soo-diraha, hababka HTTP, qaybo ka mid ah URI, ama isku darka tusaalahan.

adeegga

Aynu abuurno InterSystems Adeegga IRIS, oo leh qiimayaasha soo socda:

field
qiimaha
Description

magaca
iris
Magaca Adeegga

ciidankii
IP
InterSystems IRIS server server ama ip

dekedda
52773
InterSystems IRIS server webka

wadada
/api/atelier
Jidka xididka

nidaamka
http
Protocol

U dhaaf qiyamka soo haray sidii hore. Guji badhanka Create oo qor aqoonsiga Adeegga la abuuray.

Gawaarida

Hadda aynu abuurno waddo:

field
qiimaha
Description

wadada
/api/atelier
Jidka xididka

nidaamka
http
Protocol

adeeg.id
hage ka 3
Adeegga (ID ka tallaabadii hore)

U dhaaf qiyamka soo haray sidii hore. Guji badhanka Create oo qor aqoonsiga Jidka la sameeyay. Sida caadiga ah, IAM waxay dhageysataa codsiyada soo galaya dekedda 8000. Hadda codsiyada ayaa loo diraa http://localhost:8000 oo laga bilaabo /api/atelier waxaa loo jiheeyay InterSystems IRIS.

Imtixaanka

Aynu isku dayno abuurista codsi macmiilka REST (waxaan isticmaalayaa Boostada).

Soo bandhigida InterSystems API Manager (+ webinar)

Aan u dirno codsi GET http://localhost:8000/api/atelier/ (ha ilaawin / dhamaadka) oo jawaab ka hel InterSystems IRIS. Codsi kastaa waxa uu maraa IAM oo ururisa qiyaasaha:

  • HTTP code code.
  • Dib u dhac
  • Korjoogteynta (haddii la habeeyey).

Waxaan sameeyay dhowr codsi oo dheeri ah (oo ay ku jiraan laba codsi oo ku wajahan meelaha aan jirin sida /api/atelier/est/), natiijadu waxay isla markiiba ka muuqan doontaa dashboard-ka:

Soo bandhigida InterSystems API Manager (+ webinar)

Ku shaqaynta plugins

Hadda oo aanu haysano Jidka la habeeyey, waxaanu maamuli karnaa API-gayada. Waxaan ku dari karnaa sifooyin kaabi doona adeegeena.

Habka ugu badan ee lagu beddelo habdhaqanka API waa in lagu daro plugin. Plugins waxay go'doomiyaan shaqada shakhsi ahaaneed waxaana lagu xidhi karaa IAM mid caalami ah ama kaliya hay'adaha gaarka ah, sida Isticmaalaha (koox isticmaalayaasha), Adeeg ama Jidka. Waxaan ku bilaabi doonaa in aan ku darno plugin Xaddidaadda Rate ee Waddada. Si loo sameeyo xiriir ka dhexeeya plugin iyo jidka, waxaan u baahanahay aqoonsi gaar ah (ID) ee wadada.

Xaddidaadda tirada codsiyada

Guji Plugins ee ku yaal liiska dhinaca bidix. Waxaad ku arki kartaa dhammaan fiilooyinka firfircoon ee shaashaddan, laakiin maadaama server-kan IAM uu cusub yahay, weli ma jiraan plugins firfircoon. Markaa u gudub talaabada xigta adigoo gujinaya "Plugin Cusub".

Plugin-ka aan u baahanahay waxay ku jirtaa qaybta "Xakamaynta Taraafikada" waxaana loo yaqaan "Xdidaada Qiimaha". Dooro. Waxaa jira dhowr habayn oo aad halkan ku dejin karto, laakiin waxaan danaynaynaa kaliya laba goobood:

field
qiimaha
Description

route_id
ID
Aqoonsiga jidka

config.daqiiqo
5
Tirada codsiyada daqiiqadii

Waa intaas. Plugin waa habaysan oo firfircoon Ogsoonow in aan dooran karno waqtiyo kala duwan, sida daqiiqad, saacad ama maalin. Hababka waa la isku dari karaa (tusaale ahaan, 1000 codsi saacaddii iyo isla mar ahaantaana 100 codsi daqiiqadii). Waxaan doortay daqiiqado sababtoo ah waxay sahlaysaa in la hubiyo shaqada plugin.

Haddii aad codsi isku mid ah u dirto mar labaad Boostada, waxaad arki doontaa in jawaabta lagu soo celiyay 2 madax oo dheeraad ah:

  • XRate Xad-xad-daqiiqo: 5
  • XRateLimit-Daqiiqada hadhay: 4

Tani waxay u sheegaysaa macmiilka in uu samayn karo ilaa 5 codsi daqiiqadii oo uu samayn karo 4 codsi oo dheeraad ah wakhtiga hadda jira.

Soo bandhigida InterSystems API Manager (+ webinar)

Haddii aad samayso codsi isku mid ah marar badan, aakhirka waxaad dhammaan doontaa kootada la heli karo taa beddelkeedana waxaad heli doontaa koodka heerka HTTP ee 429 oo wata jawaabta soo socota:

Soo bandhigida InterSystems API Manager (+ webinar)

Sug hal daqiiqo oo waxaad awoodi doontaa inaad soo gudbiso codsiyada mar kale.

Tani waa hab ku habboon oo kuu ogolaanaya inaad:

  • Ka ilaali dhabarka dambe ee culeyska.
  • U sheeg macaamiisha inta codsi ee ay samayn karaan
  • Lacag ka samee API

Waxaad u dejin kartaa qiyamka waqtiyo kala duwan oo sidaas darteed waxaad fududeyn kartaa taraafikada API muddo cayiman. Aynu nidhaahno waxaad oggolaatay 600 codsi saacaddii waddo gaar ah. Celcelis ahaan waxaa jira 10 codsi daqiiqadii. Laakiin ma jiraan wax ka horjoogsanaya macmiilka inuu buuxiyo dhammaan codsiyada 600 ee ugu horreeya saacadda. Waxaa laga yaabaa in tani ay tahay waxa aad u baahan tahay. Waxa laga yaabaa inaad rabto inaad gaadho culays intaa ka sii badan inta lagu guda jiro saacada. Adiga oo dejinaya qiimaha goobta config.minute Qiimaha 20 wuxuu hubinayaa in isticmaalayaashaadu aysan samaynin wax ka badan 20 codsi daqiiqadii iyo 600 codsi saacaddii. Tani waxay u oggolaanaysaa xajmiyo yar yar oo hal daqiiqo ah marka la barbar dhigo celceliska qulqulka 10 ee codsiyada daqiiqaddii, laakiin isticmaalayaashu ma isticmaali karaan kootada saacadlaha ah hal daqiiqo. Hadda waxay u baahan doonaan ugu yaraan 30 daqiiqo si ay u isticmaalaan dhammaan codsiyadooda. Macaamiishu waxay heli doonaan madax-madaxyo dheeraad ah wakhti kasta oo cayiman, tusaale ahaan:

HTTP Header
qiimaha

Xadka-X-Xaddiga-saacadda
600

X-Qiimaha-Xaddiga-saacadda-hadhay
595

Xadka-X-Xaddiga-Daqiiqada
20

X-Qiimaha-Xaddiga-daqiiqada hadhay
16

Dabcan, waxaa jira siyaabo badan oo kala duwan oo loo habeeyo xadka weydiinta iyadoo ku xiran waxa aad rabto inaad gaarto.

natiijooyinka

Waxaan halkan ku dhammeynayaa, waxaan u maleynayaa inay jiraan waxyaabo ku filan maqaalka ugu horreeya ee ku saabsan InterSystems API Manager. Waxaan kaliya isticmaalnay mid ka mid ah in ka badan 40 plugins. Waxaa jira waxyaabo badan oo xiiso leh oo aad ku samayn karto IAM:

  • Ku dar habka dhexe ee xaqiijinta dhammaan API-yadaada.
  • Cabbirka culeyska adigoo isticmaalaya miisaan-dheeye guud ahaan adeegyo badan.
  • Ku dar hawlqabad cusub iyo hagaajinta cayayaanka dhagaystayaasha tijaabada ka hor cusboonaysiinta buuxda.
  • Sii horumariyeyaasha gudaha iyo dibaddaba shabakad shabakadeed oo u go'an oo diiwaangelinaysa dhammaan API-yada.
  • Codsiyada kaydinta si loo yareeyo wakhtiga jawaabta oo loo yareeyo culeyska dhabarka nidaamka.

tixraacyada

Webinar

Waxaan kugu martiqaadeynaa webinar "Maareynta API oo leh InterSystems API Management", kaas oo dhici doona Noofambar 21 saacada 10:00 wakhtiga Moscow (GMT+3).
InterSystems API Manager (IAM) waa qayb cusub oo ka mid ah InterSystems IRIS Data Platform kaas oo bixiya la socodka, xakamaynta iyo maaraynta taraafikada ka imaanaya webka APIs ee kaabayaasha IT-ga. Markay tahay webinar-ka waxaan ku muujin doonaa awoodaha muhiimka ah ee InterSystems API Management:

  • Qalabka la socodka taraafikada API.
  • Koontaroolada taraafikada API, oo ay ku jiraan xakamaynta xadhkaha goos gooska, xaddidaadda tirada wicitaanada API, ilaalinta liisaska la oggol yahay iyo liisaska la diiday ee cinwaannada IP, iwm.
  • Qalabka qaabeynta amniga API
  • Xariirka horumariyaha ee daabacaadda dukumeenti API interactive
  • Meesha keliya ee gelitaanka API-ga

Webinar-ka waxaa loogu talagalay naqshadeeyayaasha, horumarinta iyo maamulayaasha nidaamka.

Diiwaangelin ayaa loo baahan yahay!

Source: www.habr.com

Add a comment