Kuyambitsa InterSystems API Manager (+ webinar)

Posachedwa tatulutsa InterSystems API Manager (IAM), chigawo chatsopano cha InterSystems IRIS Data Platform chomwe chimapereka mawonekedwe, kuwongolera, ndi kasamalidwe ka traffic API pa intaneti kudutsa ma IT.

M'nkhaniyi, ndikuwonetsani momwe mungakhazikitsire IAM ndikuwonetsa zina mwazinthu zambiri zomwe mungapeze ndi IAM. InterSystems API Manager amakulolani kuti:

  • Yang'anirani API, mvetsetsani yemwe amagwiritsa ntchito API, ndi ma API omwe ali otchuka kwambiri, ndi omwe amafunikira kusintha.
  • Lamulirani omwe amagwiritsa ntchito API ndikuchepetsa kugwiritsa ntchito API kuchokera ku zoletsa zosavuta zofikira kupita ku zoletsa zofunsira - mumatha kuwongolera ndipo mutha kuyankha mwachangu kusintha kwa kagwiritsidwe ntchito ka API.
  • Tetezani ma API pogwiritsa ntchito njira zotetezera zapakati monga OAuth2.0, LDAP kapena Key Token Authentication.
  • Pangani kukhala kosavuta kwa opanga gulu lachitatu ndikuwapatsa mwayi wapamwamba wa API potsegula tsamba lodzipatulira lodzipangira.
  • Limbikitsani API ndikuwonetsetsa kuyankha kochepa.

Kuwongolera kwa API ndikofunikira pakusintha kupita ku SOA kapena kamangidwe ka microservice, kufewetsa kuphatikizana pakati pa mautumiki amunthu (micro), kuwapangitsa kupezeka kwa ogula onse akunja ndi amkati. Zotsatira zake, ma API atsopano amakhala osavuta kupanga, kusamalira, ndi kudya.

Ngati mukugwiritsa ntchito InterSystems IRIS, mutha kuwonjezera njira ya IAM palayisensi yanu. Njira ya IAM ndi yaulere kwa makasitomala a InterSystems IRIS, koma muyenera kupempha kiyi yalayisensi yatsopano kuchokera ku InterSystems kuti muyambe kugwiritsa ntchito IAM.

Ngati simunagwiritse ntchito InterSystems IRIS ndipo mukukonzekera kuyesa InterSystems API Manager, chonde lemberani InterSystems.

Chiyambi ndi Installation

Makasitomala a InterSystems amatha kutsitsa kugawa kwa IAM kuchokera patsamba WRC gawo "Kugawa kwa Mapulogalamu" ndikuyendetsa ngati chidebe cha Docker. Zofunikira zochepa pamakina:

Poyamba, muyenera kutsitsa chithunzi cha Docker (Chofunika! Chosungiracho ndi WRC si chithunzi cha Docker, muyenera kuchimasula, pali chithunzi cha Docker mkati):

docker load -i iam_image.tar

Lamuloli lipangitsa chithunzi cha IAM kuti chigwiritsidwe ntchito pambuyo pake pa seva yanu. IAM imayenda ngati chidebe chosiyana, kotero mutha kuyikweza mopanda ku InterSystems IRIS. Kuthamanga kwa IAM kumafuna mwayi wopita ku InterSystems IRIS kuti mutsitse chilolezo.

Konzani InterSystems IRIS:

  • Yambitsani kugwiritsa ntchito intaneti /api/IAM
  • Yambitsani wosuta IAM
  • Sinthani mawu achinsinsi IAM

Tsopano tiyeni tiyambitse chidebe cha IAM. Mu archive mudzapeza malemba iam-setup kwa Windows ndi Unix (ndi Mac). Zolemba izi zidzakuthandizani kukhazikitsa zosintha zachilengedwe moyenera, kulola chotengera cha IAM kukhazikitsa kulumikizana ndi InterSystems IRIS. Nachi chitsanzo cha script yomwe ikuyenda pa 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

Monga mukuwonera, dzina lachithunzi chonse, adilesi ya IP, doko la InterSystems IRIS ndi mawu achinsinsi kwa wogwiritsa ntchito IAM ndizo zonse zomwe mukufunikira kuti muyambe.

M'malo mogwiritsa ntchito script, mutha kukhazikitsa zosintha zachilengedwe pamanja:

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

Yambitsani

Tsopano tiyeni tiyambitse IAM poyendetsa lamulo:

docker-compose up -d

Lamuloli limakonza zotengera za IAM ndikuwonetsetsa kuti zonse zikuyenda bwino. Mkhalidwe wa makontena amawunikidwa pogwiritsa ntchito lamulo:

docker ps

Tsegulani mawonekedwe a admin mu msakatuli wanu localhost:8002.

Kuyambitsa InterSystems API Manager (+ webinar)

Palibe kanthu pakadali pano chifukwa ndi node yatsopano. Tiyeni tisinthe izo. IAM imathandizira lingaliro la malo ogwirira ntchito ogawa ma API kukhala ma module ndi/kapena malamulo. Pitani ku "default" malo ogwirira ntchito omwe tidzagwiritse ntchito pazoyeserera zathu.

Kuyambitsa InterSystems API Manager (+ webinar)

Chiwerengero cha zopempha za malo ogwirira ntchito akadali ziro, koma mupeza lingaliro lamalingaliro oyambira a IAM pamenyu kumanzere. Zinthu ziwiri zoyambirira: Ntchito ndi Njira ndizofunikira kwambiri:

  • Service ndi API yomwe tikufuna kupereka mwayi kwa ogula. Choncho, REST API mu InterSystems IRIS ndi Utumiki, monga, mwachitsanzo, Google API ngati mukufuna kuigwiritsa ntchito.
  • Njirayo imasankha kuti zopempha zomwe zikubwera ziyenera kutumizidwa. Njira iliyonse ili ndi zikhalidwe zina, ndipo ngati zikwaniritsidwa, pempholo limatumizidwa ku Service yoyenera. Mwachitsanzo, Njira ingafanane ndi IP, domain yotumiza, njira za HTTP, magawo a URI, kapena kuphatikiza kwa zitsanzo izi.

utumiki

Tiyeni tipange InterSystems IRIS Service, yokhala ndi izi:

m'munda
mtengo
mafotokozedwe

dzina
Iris
Dzina la Utumiki

khamu
IP
InterSystems IRIS seva host host kapena ip

doko
52773
InterSystems IRIS seva pa intaneti

njira
/api/atelier
Njira yoyamba

Protocol
http
Pulogalamu

Siyani zotsalazo ngati zosasintha. Dinani batani Create ndikulemba ID ya Service yomwe idapangidwa.

Njira

Tsopano tiyeni tipange njira:

m'munda
mtengo
mafotokozedwe

njira
/api/atelier
Njira yoyamba

Protocol
http
Pulogalamu

service.id
kutsogolera ku 3
Service (ID kuchokera pa sitepe yapitayi)

Siyani zotsalazo ngati zosasintha. Dinani batani Create ndi kulemba ID ya Njira yopangidwa. Mwachisawawa, IAM imamvera zopempha zomwe zikubwera pa port 8000. Tsopano zopempha zatumizidwa ku http://localhost:8000 ndi kuyambira /api/atelier amatumizidwa ku InterSystems IRIS.

Kuyesa

Tiyeni tiyese kupanga pempho mu kasitomala wa REST (ndikugwiritsa ntchito Wolemba Postman).

Kuyambitsa InterSystems API Manager (+ webinar)

Tiyeni titumize pempho la GET ku http://localhost:8000/api/atelier/ (Osayiwala / pamapeto) ndikulandila yankho kuchokera ku InterSystems IRIS. Pempho lililonse limadutsa IAM yomwe imasonkhanitsa ma metrics:

  • HTTP status kodi.
  • Kuchedwa.
  • Kuwunika (ngati kukonzedwa).

Ndidapemphanso zingapo (kuphatikiza zopempha ziwiri ku mathero omwe kulibe monga / api/atelier/est/), zotsatira zake zimawonekera pa dashboard:

Kuyambitsa InterSystems API Manager (+ webinar)

Kugwira ntchito ndi mapulagini

Tsopano popeza takonza Njira, titha kuyang'anira API yathu. Tikhoza kuwonjezera zinthu zomwe zingagwirizane ndi utumiki wathu.

Njira yodziwika bwino yosinthira machitidwe a API ndikuwonjezera pulogalamu yowonjezera. Mapulagini amalekanitsa magwiridwe antchito amunthu payekha ndipo amatha kulumikizidwa ku IAM padziko lonse lapansi kapena ku mabungwe apawokha, monga Wogwiritsa (gulu la ogwiritsa ntchito), Service kapena Route. Tiyamba ndikuwonjezera pulogalamu yowonjezera ya Rate Limiting ku Njira. Kuti tikhazikitse kulumikizana pakati pa pulogalamu yowonjezera ndi njira, timafunikira chizindikiritso chapadera (ID) chanjirayo.

Kuchepetsa kuchuluka kwa zopempha

Dinani Mapulagini mumndandanda wakumanzere wakumanzere. Mutha kuwona mapulagini onse omwe akugwira pazenerali, koma popeza seva iyi ya IAM ndi yatsopano, palibe mapulagini omwe akugwirabe ntchito. Chifukwa chake pitirirani ku sitepe yotsatira ndikudina "Plugin Yatsopano".

Pulogalamu yowonjezera yomwe tikufunikira ili m'gulu la "Traffic Control" ndipo imatchedwa "Rate Limiting". Sankhani izo. Pali zosintha zingapo zomwe mungakhazikitse apa, koma timangosamala magawo awiri okha:

m'munda
mtengo
mafotokozedwe

njira_id
ID
ID ya njira

config.minute
5
Chiwerengero cha zopempha pamphindi

Ndizomwezo. Pulagiyi idakonzedwa komanso yogwira ntchito. Dziwani kuti tikhoza kusankha nthawi zosiyanasiyana, monga miniti, ola limodzi kapena tsiku. Zokonda zitha kuphatikizidwa (mwachitsanzo, zopempha 1000 pa ola limodzi komanso nthawi yomweyo zopempha 100 pamphindi). Ndinasankha mphindi chifukwa zimapangitsa kukhala kosavuta fufuzani ntchito pulogalamu yowonjezera.

Mukatumizanso pempho lomwelo ku Postman, muwona kuti yankho labwezedwa ndi mitu ina 2:

  • XRateLimit-Limit-miniti: 5
  • XRateLimit-Mphindi Yotsalira: 4

Izi zimauza kasitomala kuti akhoza kupanga zopempha 5 pamphindi imodzi ndipo akhoza kupanga zopempha zina 4 mu nthawi yamakono.

Kuyambitsa InterSystems API Manager (+ webinar)

Ngati mungapemphe zomwezo mobwerezabwereza, pamapeto pake mudzatheratu ndipo m'malo mwake mudzalandira nambala ya HTTP ya 429 yokhala ndi mayankho otsatirawa:

Kuyambitsa InterSystems API Manager (+ webinar)

Dikirani pang'ono ndipo mudzatha kutumizanso zopempha.

Ichi ndi makina osavuta omwe amakulolani kuti:

  • Tetezani kumbuyo kwa kukwera kwa katundu.
  • Auzeni makasitomala kuchuluka kwa zopempha zomwe angapemphe.
  • Monetize API.

Mutha kukhazikitsa zikhalidwe zanthawi zosiyanasiyana ndikuwongolera kuchuluka kwa magalimoto a API pakanthawi kochepa. Tiyerekeze kuti mumalola zopempha 600 pa ola limodzi pa Njira inayake. Pafupifupi pali zopempha 10 pamphindi. Koma palibe chomwe chimalepheretsa kasitomala kukwaniritsa zopempha zonse za 600 mumphindi yoyamba ya ola. Mwina izi ndi zomwe mukusowa. Mungafune kukwaniritsa katundu wochulukira pakadutsa ola limodzi. Pokhazikitsa mtengo wamunda config.minute Mtengo wa 20 umatsimikizira kuti ogwiritsa ntchito sapanga zopempha zopitilira 20 pamphindi ndi zopempha 600 pa ola limodzi. Izi zimathandiza kuti pakhale ma spikes ang'onoang'ono pamphindi imodzi poyerekeza ndi kuchuluka kwa zopempha 10 pa mphindi imodzi, koma ogwiritsa ntchito sangathe kugwiritsa ntchito chiwerengero cha ola kwa mphindi imodzi. Tsopano afunika mphindi 30 kuti agwiritse ntchito zopempha zawo zonse. Makasitomala alandila mitu yowonjezerapo pa nthawi iliyonse yodziwika, mwachitsanzo:

Mutu wa HTTP
mtengo

X-RateLimit-Limit-ora
600

X-RateLimit-Ola lotsala
595

X-RateLimit-Limit-miniti
20

X-RateLimit-Mphindi Yotsalira
16

Zachidziwikire, pali njira zambiri zosinthira malire amafunso kutengera zomwe mukufuna kukwaniritsa.

anapezazo

Ndimaliza apa, ndikuganiza kuti pali zinthu zokwanira pamutu woyamba wokhudza InterSystems API Manager. Tidangogwiritsa ntchito imodzi mwa mapulagini opitilira 40. Pali zinthu zambiri zosangalatsa zomwe mungachite ndi IAM:

  • Onjezani makina otsimikizira apakati pama API anu onse.
  • Sankhani katunduyo pogwiritsa ntchito cholemetsa cholemetsa pa Ntchito zingapo.
  • Onjezani magwiridwe antchito ndi kukonza zolakwika kwa anthu oyesa musanasinthe.
  • Perekani omanga amkati ndi akunja okhala ndi tsamba lodzipereka lolemba ma API onse.
  • Zopempha za cache kuti muchepetse nthawi yoyankha ndikuchepetsa katundu pa backend system.

powatsimikizira

Webinar

Tikukuitanani ku webinar "API Management ndi InterSystems API Management", yomwe idzachitika pa November 21 pa 10:00 nthawi ya Moscow (GMT + 3).
InterSystems API Manager (IAM) ndi gawo latsopano la InterSystems IRIS Data Platform yomwe imapereka kuyang'anira, kuwongolera ndi kuyang'anira kuchuluka kwa magalimoto kupita / kuchokera ku ma API a pa intaneti mkati mwa IT Infrastructure. Pa webinar tidzawonetsa kuthekera kwakukulu kwa InterSystems API Management:

  • Zida zowunikira magalimoto a API.
  • Kuwongolera kwamayendedwe a API, kuphatikiza kuwongolera kwa bandwidth, kuchepetsa kuchuluka kwa mafoni a API, kusunga mindandanda ya ma adilesi ololedwa ndi okanidwa a IP, ndi zina zambiri.
  • Zida zosinthira chitetezo cha API.
  • Malo opangira mapulogalamu osindikizira zolemba za API.
  • Malo amodzi ofikira ku API.

Webinar imapangidwira omanga, opanga ndi oyang'anira dongosolo.

Kulembetsa ndikofunikira!

Source: www.habr.com

Kuwonjezera ndemanga