A’ toirt a-steach Manaidsear API InterSystems (+ webinar)

O chionn ghoirid leig sinn a-mach InterSystems API Manager (IAM), pàirt ùr de Àrd-ùrlar Dàta IRIS InterSystems a bheir seachad faicsinneachd, smachd agus riaghladh trafaic API lìn thairis air a’ bhun-structar IT.

San artaigil seo, seallaidh mi dhut mar a stèidhicheas tu IAM agus seallaidh mi cuid den iomadh comas a tha rim faighinn dhut le IAM. Leigidh Manaidsear API InterSystems leat:

  • Cum sùil air an API, tuig cò a chleachdas an API, dè na APIan as mòr-chòrdte, agus dè an fheadhainn a dh’ fheumas leasachadh.
  • Smachd air cò a chleachdas an API agus cuir casg air cleachdadh API bho chuingealachaidhean ruigsinneachd sìmplidh gu cuingealachaidhean stèidhichte air iarrtas - tha smachd àbhaisteach agad agus is urrainn dhut freagairt gu sgiobalta ri pàtrain caitheamh API ag atharrachadh.
  • Dèan cinnteach gu bheil APIan a’ cleachdadh innealan tèarainteachd meadhanaichte leithid OAuth2.0, LDAP no Key Token Authentication.
  • Dèan e nas fhasa do luchd-leasachaidh treas-phàrtaidh agus thoir dhaibh eòlas API nas fheàrr le bhith a’ fosgladh portal leasaiche sònraichte.
  • Sgèile an API agus dèan cinnteach gu bheil glè bheag de fhreagairt ann.

Tha riaghladh API deatamach airson gluasad gu ailtireachd SOA no microservice, a’ sìmpleachadh amalachadh eadar seirbheisean fa-leth (meanbh), gan dèanamh rim faighinn leis a h-uile neach-cleachdaidh bhon taobh a-muigh agus a-staigh. Mar thoradh air an sin, bidh e nas fhasa APIan ùra a chruthachadh, a chumail suas agus ithe.

Ma tha thu mu thràth a’ cleachdadh InterSystems IRIS, faodaidh tu an roghainn IAM a chur ris a’ chead agad. Tha an roghainn IAM an-asgaidh do luchd-ceannach InterSystems IRIS, ach feumaidh tu iuchair cead ùr iarraidh bho InterSystems gus tòiseachadh air IAM a chleachdadh.

Mura h-eil thu fhathast a’ cleachdadh InterSystems IRIS agus gu bheil thu an dùil feuchainn air InterSystems API Manager, cuir fios gu InterSystems.

Tòiseachadh agus Stàladh

Faodaidh luchd-ceannach InterSystems an cuairteachadh IAM a luchdachadh sìos bhon làrach-lìn WRC earrann “Bathar-bog Sgaoileadh” agus ruith mar inneal Docker. Riatanasan siostam as ìsle:

An toiseach, feumaidh tu an ìomhaigh Docker a luchdachadh sìos (Cudromach! Chan e ìomhaigh Docker a th’ anns an tasglann le WRC, feumaidh tu a dhì-phapadh, tha ìomhaigh Docker na bhroinn):

docker load -i iam_image.tar

Nì an àithne seo an ìomhaigh IAM ri fhaighinn airson a chleachdadh nas fhaide air adhart air an fhrithealaiche agad. Bidh IAM a’ ruith mar shoitheach air leth, gus an urrainn dhut a sgèile gu neo-eisimeileach bho InterSystems IRIS. Feumaidh ruith IAM faighinn gu InterSystems IRIS gus cead a luchdachadh sìos.

Stèidhich InterSystems IRIS:

  • Dèan comas air an aplacaid lìn /api/IAM
  • Dèan comas don neach-cleachdaidh IAM
  • Atharraich am facal-faire cleachdaiche IAM

A-nis leig dhuinn tòiseachadh air an IAM container. Anns an tasglann gheibh thu sgriobtaichean iam-setup airson Windows agus Unix (agus Mac). Cuidichidh na sgriobtaichean sin thu gus caochladairean na h-àrainneachd a shuidheachadh gu ceart, a’ leigeil leis a’ ghobhar IAM ceangal a stèidheachadh le InterSystems IRIS. Seo eisimpleir den sgriobt a’ ruith air 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

Mar a chì thu, tha an làn ainm ìomhaigh, seòladh IP, port InterSystems IRIS agus facal-faire airson an neach-cleachdaidh IAM uile a dh ’fheumas tu airson tòiseachadh.

An àite a bhith a’ ruith sgriobt, faodaidh tu caochladairean àrainneachd a shuidheachadh le làimh:

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

Запуск

A-nis leig leinn IAM a chuir air bhog le bhith a’ ruith an àithne:

docker-compose up -d

Bidh an àithne seo ag eagrachadh na soithichean IAM agus a’ dèanamh cinnteach gu bheil a h-uile càil a’ ruith gu ceart. Tha inbhe nan soithichean air a sgrùdadh leis an àithne:

docker ps

Fosgail an eadar-aghaidh rianachd sa bhrobhsair agad localhost:8002.

A’ toirt a-steach Manaidsear API InterSystems (+ webinar)

Tha e falamh an-dràsta oir is e nód gu tur ùr a th’ ann. Atharraichidh sinn sin. Tha IAM a’ toirt taic don bhun-bheachd air àiteachan-obrach airson APIan a roinn ann am modalan agus/no òrdughan. Rach don àite-obrach “bunaiteach” a chleachdas sinn airson ar deuchainnean.

A’ toirt a-steach Manaidsear API InterSystems (+ webinar)

Tha an àireamh de dh’ iarrtasan airson an àite-obrach seo fhathast neoni, ach gheibh thu beachd air na bun-bheachdan IAM sa chlàr air an taobh chlì. Is e a’ chiad dà eileamaid: Seirbheisean agus Slighean an fheadhainn as cudromaiche:

  • Is e seirbheis an API dha bheil sinn airson cothrom a thoirt do luchd-cleachdaidh. Mar sin, is e seirbheis a th’ anns an REST API ann an InterSystems IRIS, mar a tha, mar eisimpleir, an API Google ma tha thu airson a chleachdadh.
  • Bidh an t-Slighe a’ co-dhùnadh dè na h-iarrtasan a thig a-steach don t-Seirbheis a bu chòir a chuir air adhart. Tha seata sònraichte de chumhachan aig gach Slighe, agus ma thèid an coinneachadh, thèid an t-iarrtas a chuir chun t-Seirbheis iomchaidh. Mar eisimpleir, faodaidh Slighe a bhith co-ionnan ri IP, àrainn neach-cuiridh, dòighean HTTP, pàirtean de URI, no measgachadh de na h-eisimpleirean sin.

seirbheis

Cruthaichidh sinn Seirbheis IRIS InterSystems, leis na luachan a leanas:

achadh
luach
Tuairisgeul

ainm
seileastair
Ainm seirbheis

slòigh
IP
Neach-aoigheachd frithealaiche IRIS InterSystems no ip

port
52773
Port lìn frithealaiche IRIS InterSystems

slighe
/api/atelier
Slighe root

protocol
http
Pròtacal

Fàg na luachan a tha air fhàgail mar bhunait. Cliog air a 'phutan Create agus sgrìobh sìos ID na seirbheis cruthaichte.

Slighe

A-nis cruthaichidh sinn slighe:

achadh
luach
Tuairisgeul

slighe
/api/atelier
Slighe root

protocol
http
Pròtacal

seirbheis.id
stiùireadh bho 3
Seirbheis (ID bhon cheum roimhe)

Fàg na luachan a tha air fhàgail mar bhunait. Cliog air a 'phutan Create agus sgrìobh sìos ID na slighe a chaidh a chruthachadh. Gu gnàthach, bidh IAM ag èisteachd airson iarrtasan a thig a-steach air port 8000. A-nis iarrtasan air an cur gu http://localhost:8000 agus a’ tòiseachadh le /api/atelier air an ath-stiùireadh gu InterSystems IRIS.

Deuchainn

Feuchaidh sinn ri iarrtas a chruthachadh ann an teachdaiche REST (tha mi a’ cleachdadh Fear a ’phuist).

A’ toirt a-steach Manaidsear API InterSystems (+ webinar)

Nach cuir sinn iarrtas GET gu http://localhost:8000/api/atelier/ (na dìochuimhnich / aig an deireadh) agus faigh freagairt bho InterSystems IRIS. Bidh gach iarrtas a’ dol tro IAM a bhios a’ cruinneachadh metrics:

  • Còd inbhe HTTP.
  • Dàil.
  • Sgrùdadh (ma tha e air a rèiteachadh).

Rinn mi beagan iarrtasan eile (a’ toirt a-steach dà iarrtas gu puingean crìochnachaidh nach robh ann leithid / api/atelier/est/), tha na toraidhean rim faicinn sa bhad air an deas-bhòrd:

A’ toirt a-steach Manaidsear API InterSystems (+ webinar)

Ag obair le plugins

A-nis gu bheil Slighe air a rèiteachadh, is urrainn dhuinn an API againn a riaghladh. Is urrainn dhuinn feartan a chur ris a chuireas ris an t-seirbheis againn.

Is e an dòigh as cumanta air giùlan API atharrachadh plugan a chuir ris. Bidh plugins a’ dealachadh gnìomh fa leth agus faodar a cheangal ri IAM an dàrna cuid air feadh na cruinne no dìreach ri buidhnean fa leth, leithid Cleachdaiche (buidheann de luchd-cleachdaidh), Seirbheis no Slighe. Tòisichidh sinn le bhith a’ cur am plugan Rate Limiting ris an t-Slighe. Gus ceangal a stèidheachadh eadar am plugan agus an t-slighe, feumaidh sinn aithnichear sònraichte (ID) den t-slighe.

A 'cuingealachadh àireamh nan iarrtasan

Cliog air Plugins anns a 'chlàr-taice taobh clì. Chì thu na plugins gnìomhach air fad air an sgrìn seo, ach leis gu bheil am frithealaiche IAM seo ùr, chan eil plugins gnìomhach ann fhathast. Mar sin lean air adhart chun ath cheum le bhith a’ briogadh air “New Plugin”.

Tha am plugan a dh’ fheumas sinn anns an roinn “Smachd Trafaic” agus canar “Crìochan Ìrean ris”. Tagh e. Tha grunn shuidheachaidhean ann as urrainn dhut a shuidheachadh an seo, ach chan eil dragh againn ach mu dhà raon:

achadh
luach
Tuairisgeul

slighe_id
ID
ID slighe

config.minute
5
An àireamh de dh'iarrtasan gach mionaid

Sin e. Tha am plugan air a rèiteachadh agus gnìomhach. Thoir an aire gun urrainn dhuinn diofar amannan a thaghadh, leithid mionaid, uair a thìde no latha. Faodar na roghainnean a chur còmhla (mar eisimpleir, 1000 iarrtas san uair agus aig an aon àm 100 iarrtas gach mionaid). Thagh mi mionaidean oir tha e ga dhèanamh furasta sgrùdadh a dhèanamh air gnìomhachd a’ plugan.

Ma chuireas tu an aon iarrtas a-rithist ann am Postman, chì thu gu bheil am freagairt air a thilleadh le 2 cheann-cinn a bharrachd:

  • XRateLimit-Limit-mionaid: 5
  • XRateLimit-Air fhàgail-mionaid: 4

Tha seo ag innse don neach-dèiligidh gum faod e suas ri 5 iarrtasan gach mionaid a dhèanamh agus gun urrainn dha 4 iarrtasan a bharrachd a dhèanamh anns an ùine làithreach.

A’ toirt a-steach Manaidsear API InterSystems (+ webinar)

Ma nì thu an aon iarrtas a-rithist is a-rithist, ruithidh tu a-mach às a’ chuota a tha ri fhaighinn mu dheireadh agus an àite sin gheibh thu còd inbhe HTTP de 429 leis a’ bhuidheann freagairt a leanas:

A’ toirt a-steach Manaidsear API InterSystems (+ webinar)

Fuirich mionaid agus bidh e comasach dhut iarrtasan a chuir a-steach a-rithist.

Is e inneal goireasach a tha seo a leigeas leat:

  • Dìon an cùl-raon bho àrdachadh luchdan.
  • Innis do luchd-cleachdaidh cia mheud iarrtas as urrainn dhaibh a dhèanamh.
  • Dèan monetize air an API.

Faodaidh tu luachan a shuidheachadh airson diofar amannan agus mar sin trafaic API a dhèanamh rèidh thar ùine sònraichte. Canaidh sinn gu bheil thu a’ ceadachadh 600 iarrtas san uair air Slighe sònraichte. Gu cuibheasach tha 10 iarrtasan gach mionaid. Ach chan eil dad a 'cur casg air an neach-dèiligidh bho bhith a' lìonadh a h-uile 600 iarrtas anns a 'chiad mhionaid den uair. Is dòcha gur e seo a tha a dhìth ort. Is dòcha gum bi thu airson eallach nas cothromaiche a choileanadh thairis air uair a thìde. Le bhith a 'suidheachadh luach an raoin config.minute Tha luach 20 a’ dèanamh cinnteach nach dèan an luchd-cleachdaidh agad barrachd air 20 iarrtas gach mionaid agus 600 iarrtas san uair. Leigidh seo le spìcean beaga ann an eadar-ama mionaid an taca ri sruth cuibheasach iomlan de 10 iarrtasan gach mionaid, ach chan urrainn do luchd-cleachdaidh an cuota san uair a chleachdadh airson aon mhionaid. A-nis feumaidh iad co-dhiù 30 mionaid airson na h-iarrtasan aca uile a chleachdadh. Gheibh teachdaichean bann-cinn a bharrachd airson gach ùine ainmichte, mar eisimpleir:

Ceann-cinnidh HTTP
luach

X-RateLimit-Crìoch-uair
600

X-RateLimit-Air fhàgail-uair
595

X-RateLimit-Limit-mionaid
20

X-RateLimit-Air fhàgail-mionaid
16

Gu dearbh, tha iomadh dòigh eadar-dhealaichte ann airson crìochan ceist a rèiteachadh a rèir na tha thu airson a choileanadh.

toraidhean

Crìochnaichidh mi an seo, tha mi a’ smaoineachadh gu bheil stuth gu leòr ann airson a’ chiad artaigil mu Mhanaidsear API InterSystems. Cha do chleachd sinn ach aon de chòrr air 40 plugan. Tha tòrr rudan inntinneach eile as urrainn dhut a dhèanamh le IAM:

  • Cuir inneal dearbhaidh meadhanach ris airson na APIan agad gu lèir.
  • Meudaich an luchd le bhith a’ cleachdadh cothromachadh luchdan thairis air grunn sheirbheisean.
  • Cuir gnìomh ùr agus rèiteachadh bug ri luchd-èisteachd deuchainn mus tèid ùrachadh iomlan a dhèanamh.
  • Thoir seachad portal lìn sònraichte do luchd-leasachaidh a-staigh agus a-muigh a’ clàradh a h-uile API.
  • Iarrtasan tasgadan gus an ùine freagairt a lughdachadh agus an luchd air backend an t-siostaim a lughdachadh.

iomraidhean

Webinar

Tha sinn a’ toirt cuireadh dhut don webinar “API Management with InterSystems API Management”, a thèid a chumail air 21 Samhain aig 10: 00 àm Moscow (GMT + 3).
Tha Manaidsear API InterSystems (IAM) na phàirt ùr de Àrd-ùrlar Dàta IRIS InterSystems a bheir seachad sgrùdadh, smachd agus riaghladh trafaic gu / bho APIan lìn taobh a-staigh bun-structair IT. Aig an webinar seallaidh sinn na prìomh chomasan aig InterSystems API Management:

  • Innealan sgrùdaidh trafaic API.
  • Smachdan trafaic API, a’ toirt a-steach smachd leud-bann, a’ cuingealachadh an àireamh de ghlaodhan API, a’ cumail suas liostaichean de liostaichean ceadaichte is àicheadh ​​de sheòlaidhean IP, msaa.
  • Innealan rèiteachaidh tèarainteachd API.
  • Port leasaiche airson sgrìobhainnean API eadar-ghnìomhach fhoillseachadh.
  • Aon àite inntrigidh don API.

Tha an webinar airson ailtirean, luchd-leasachaidh agus luchd-rianachd an t-siostaim.

Tha feum air clàradh!

Source: www.habr.com

Cuir beachd ann