Fampidirana InterSystems API Manager (+ webinar)

Vao haingana izahay no namoaka InterSystems API Manager (IAM), singa vaovao amin'ny InterSystems IRIS Data Platform izay manome fahitana, fanaraha-maso ary fitantanana ny fifamoivoizana API amin'ny alàlan'ny fotodrafitrasa IT.

Ato amin'ity lahatsoratra ity, hasehoko anao ny fomba fametrahana IAM ary asehoko ny sasany amin'ireo fahaiza-manao maro azonao atao amin'ny IAM. InterSystems API Manager dia ahafahanao:

  • Araho ny API, fantaro hoe iza no mampiasa ny API, izay API no malaza indrindra, ary iza no mila fanatsarana.
  • Mifehy izay mampiasa ny API ary mametra ny fampiasana ny API manomboka amin'ny famerana fidirana tsotra mankany amin'ny fameperana mifototra amin'ny fangatahana - manana fifehezana manokana ianao ary afaka mamaly haingana ny fiovan'ny lamina fanjifana API.
  • API azo antoka amin'ny alàlan'ny rafitra fiarovana afovoany toy ny OAuth2.0, LDAP na Key Token Authentication.
  • Ataovy mora kokoa ho an'ny mpamorona antoko fahatelo ary omeo azy ireo traikefa API ambony amin'ny fanokafana vavahadin-tserasera natokana ho an'ny mpamorona.
  • Ampitomboy ny API ary miantoka ny faharetan'ny famaliana kely indrindra.

Ny fitantanana API dia tena ilaina amin'ny fifindrana mankany amin'ny SOA na maritrano microservice, manamora ny fampidirana ny serivisy tsirairay (micro), ka mahatonga azy ireo ho azon'ny mpanjifa rehetra ivelany sy anatiny. Vokatr'izany dia lasa mora kokoa ny mamorona, mikojakoja ary mampiasa ny API vaovao.

Raha efa mampiasa InterSystems IRIS ianao dia azonao atao ny manampy ny safidy IAM amin'ny fahazoan-dàlanao. Maimaim-poana ny safidy IAM ho an'ny mpanjifa InterSystems IRIS, saingy tsy maintsy mangataka fanalahidin'ny fahazoan-dàlana vaovao avy amin'ny InterSystems ianao vao manomboka mampiasa IAM.

Raha mbola tsy mampiasa InterSystems IRIS ianao ary mikasa ny hanandrana InterSystems API Manager dia mifandraisa amin'ny InterSystems.

Fanombohana sy fametrahana

Ny mpanjifa InterSystems dia afaka misintona ny fizarana IAM amin'ny tranokala WRC fizarana "Software Distribution" ary mihazakazaka toy ny container Docker. Fepetra rafitra ambany indrindra:

Amin'ny voalohany dia mila maka ny sary Docker ianao (Zava-dehibe! Tsy sary Docker ny arisiva miaraka amin'ny WRC, mila esorinao, misy sary Docker ao anatiny):

docker load -i iam_image.tar

Ity baiko ity dia hahatonga ny sary IAM ho azo ampiasaina any aoriana any amin'ny lohamilinao. IAM dia mandeha toy ny fitoeran-javatra misaraka, ka azonao atao ny manitsy azy tsy miankina amin'ny InterSystems IRIS. Ny fampandehanana IAM dia mitaky fidirana amin'ny InterSystems IRIS mba hisintona fahazoan-dàlana.

Manangana InterSystems IRIS:

  • Alefaso ny fampiharana tranonkala /api/IAM
  • Alefaso ny mpampiasa IAM
  • Hanova ny tenimiafina mpampiasa IAM

Andeha isika hanomboka ny kaontenera IAM. Ao amin'ny archive dia hahita script ianao iam-setup ho an'ny Windows sy Unix (sy Mac). Ireo script ireo dia hanampy anao hametraka araka ny tokony ho izy ny fari-piainan'ny tontolo iainana, ahafahan'ny container IAM mametraka fifandraisana amin'ny InterSystems IRIS. Ity misy ohatra iray amin'ny script mandeha amin'ny 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

Araka ny hitanao dia ny anaran'ny sary feno, ny adiresy IP, ny seranan-tsambo InterSystems IRIS ary ny tenimiafina ho an'ny mpampiasa IAM no ilainao hanombohana.

Raha tokony hanao script ianao, dia azonao atao ny mametraka ny fari-piainan'ny tontolo iainana:

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

fandefasana

Andeha isika hanomboka ny IAM amin'ny alàlan'ny baiko:

docker-compose up -d

Ity baiko ity dia mandamina ny kaontenera IAM ary miantoka fa mandeha tsara ny zava-drehetra. Ny satan'ny container dia voamarina amin'ny alalan'ny baiko:

docker ps

Sokafy ny interface admin amin'ny navigateur localhost:8002.

Fampidirana InterSystems API Manager (+ webinar)

Foana izy amin'izao fotoana izao satria node vaovao tanteraka. Andao hanova izany. IAM dia manohana ny foto-kevitry ny toeram-piasana mba hizarana ny API ho maody sy/na baiko. Mandehana any amin'ny toeram-piasana "default" izay hampiasaintsika amin'ny andrana.

Fampidirana InterSystems API Manager (+ webinar)

Mbola aotra ny isan'ny fangatahana an'ity toeram-piasana ity, fa hahazo hevitra momba ny foto-kevitra fototra IAM ianao ao amin'ny menio eo ankavia. Ny singa roa voalohany: Serivisy sy Lalana no zava-dehibe indrindra:

  • Ny serivisy dia API tiana omena ny mpanjifa. Noho izany, ny REST API ao amin'ny InterSystems IRIS dia serivisy, toy ny Google API, ohatra, raha te hampiasa azy ianao.
  • Ny Lalana no manapa-kevitra amin'izay serivisy ho avy fangatahana tokony halefa. Ny Lalana tsirairay dia manana fepetra voafaritra manokana, ary raha feno izy ireo dia alefa any amin'ny Serivisy mifanaraka amin'izany ny fangatahana. Ohatra, ny Route dia afaka mifanandrify amin'ny IP, sehatra mpandefa, fomba HTTP, ampahany amin'ny URI, na fitambaran'ireo ohatra ireo.

fanompoana

Andao hamorona serivisy InterSystems IRIS, miaraka amin'ireto soatoavina manaraka ireto:

saha
zava-dehibe
famaritana

anarana
Iris
Anaran'ny serivisy

miaramila
IP
InterSystems IRIS mpizara mpampiantrano na ip

seranan-tsambo
52773
Seranan-tranonkala mpizara InterSystems IRIS

lalana
/api/atelier
Lalana faka

fifanarahana
Sokajy
fifanarahana

Avelao ho default ny soatoavina sisa. Tsindrio ny bokotra Create ary soraty ny ID ny serivisy noforonina.

lalana

Andeha isika hamorona lalana:

saha
zava-dehibe
famaritana

lalana
/api/atelier
Lalana faka

fifanarahana
Sokajy
fifanarahana

service.id
torolalana avy amin'ny 3
Serivisy (ID avy amin'ny dingana teo aloha)

Avelao ho default ny soatoavina sisa. Tsindrio ny bokotra Create ary soraty ny ID ny lalana noforonina. Amin'ny alàlan'ny default, IAM dia mihaino ny fangatahana miditra amin'ny seranan-tsambo 8000. Ankehitriny dia alefa any amin'ny http://localhost:8000 ary manomboka amin'ny /api/atelier dia averina mankany amin'ny InterSystems IRIS.

fitiliana

Andeha isika hanandrana hamorona fangatahana amin'ny mpanjifa REST (ampiasaiko Postman).

Fampidirana InterSystems API Manager (+ webinar)

Andao handefa fangatahana GET any http://localhost:8000/api/atelier/ (aza hadino / amin'ny farany) ary mahazo valiny avy amin'ny InterSystems IRIS. Ny fangatahana tsirairay dia mandalo amin'ny IAM izay manangona metrika:

  • Kaody sata HTTP.
  • Fanemorana
  • Fanaraha-maso (raha voarindra).

Nanao fangatahana vitsivitsy hafa aho (anisan'izany ny fangatahana roa amin'ireo teboka tsy misy toa ny /api/atelier/est/), hita avy hatrany ao amin'ny dashboard ny valiny:

Fampidirana InterSystems API Manager (+ webinar)

Miasa amin'ny plugins

Amin'izao fotoana izao dia manana Lalana voarindra isika dia afaka mitantana ny API. Afaka manampy endri-javatra izay hameno ny serivisy izahay.

Ny fomba mahazatra indrindra hanovana ny fitondran-tenan'ny API dia ny manampy plugin. Ny plugins dia mitoka-monina ny fiasan'ny tsirairay ary azo ampifandraisina amin'ny IAM na maneran-tany na amin'ny sampana tsirairay, toy ny Mpampiasa (vondrona mpampiasa), Serivisy na Lalana. Hanomboka amin'ny fampidirana ny plugin Rate Limiting amin'ny Route isika. Mba hametrahana fifandraisana eo amin'ny plugin sy ny lalana dia mila famantarana tokana (ID) an'ilay lalana isika.

Famerana ny isan'ny fangatahana

Kitiho ny Plugins ao amin'ny menu sidebar havia. Azonao atao ny mahita ny plugins mavitrika rehetra amin'ity efijery ity, saingy satria vaovao ity mpizara IAM ity dia tsy mbola misy plugins mavitrika. Koa mandehana amin'ny dingana manaraka amin'ny fipihana ny "New Plugin".

Ny plugin ilaintsika dia ao amin'ny sokajy "Fanaraha-maso ny fifamoivoizana" ary antsoina hoe "Famerana ny tahan'ny". Fidio izany. Misy fika vitsivitsy azonao apetraka eto, saingy sehatra roa ihany no resahinay:

saha
zava-dehibe
famaritana

route_id
ID
Lalana ID

config.minute
5
Isan'ny fangatahana isa-minitra

Izay ihany. Ny plugin dia namboarina sy mavitrika. Mariho fa afaka misafidy fotoana samihafa isika, toy ny iray minitra, adiny iray na andro iray. Azo atambatra ny fandrindrana (ohatra, fangatahana 1000 isan'ora ary miaraka amin'ny fangatahana 100 isa-minitra). Nisafidy minitra aho satria manamora ny fanaraha-maso ny fiasan'ny plugin.

Raha mandefa fangatahana mitovy amin'ny Postman indray ianao dia ho hitanao fa averina miaraka amin'ny lohateny 2 fanampiny ny valiny:

  • XRateLimit-Limit-minitra: 5
  • XRateLimit-minitra sisa: 4

Izany dia milaza amin'ny mpanjifa fa afaka manao fangatahana 5 isa-minitra izy ary afaka manao fangatahana 4 fanampiny amin'ny fotoana misy ankehitriny.

Fampidirana InterSystems API Manager (+ webinar)

Raha manao izany fangatahana izany hatrany hatrany ianao, dia ho lany ny quota misy anao amin'ny farany ary hahazo kaody HTTP 429 miaraka amin'ity vatana valiny manaraka ity:

Fampidirana InterSystems API Manager (+ webinar)

Andraso kely dia ho afaka handefa fangatahana indray ianao.

Ity dia mekanika mety ahafahanao:

  • Arovy ny lamosina amin'ny fiakaran'ny entana.
  • Lazao amin'ny mpanjifa hoe firy ny fangatahana azony atao.
  • Ataovy vola ny API.

Azonao atao ny mametraka soatoavina ho an'ny elanelan'ny fotoana samihafa ary noho izany dia manamora ny fifamoivoizana API mandritra ny fe-potoana iray. Andeha hatao hoe mamela fangatahana 600 isan'ora ianao amin'ny lalana iray. Amin'ny ankapobeny dia misy fangatahana 10 isa-minitra. Saingy tsy misy manakana ny mpanjifa tsy hamita ny fangatahana 600 rehetra amin'ny minitra voalohany amin'ny ora. Angamba ity no ilainao. Azonao atao ny mahazo entana mivaingana kokoa mandritra ny adiny iray. Amin'ny fametrahana ny sandan'ny saha config.minute Ny sanda 20 dia miantoka fa tsy mihoatra ny 20 isa-minitra sy fangatahana 600 isa-minitra ny mpampiasa anao. Izany dia mamela ny spikes kely amin'ny elanelam-potoana iray minitra raha oharina amin'ny salan'isa feno fangatahana 10 isa-minitra, fa ny mpampiasa dia tsy afaka mampiasa ny fetra isan'ora mandritra ny iray minitra. Amin'izao fotoana izao dia mila 30 minitra farafahakeliny izy ireo hampiasa ny fangatahany rehetra. Hahazo lohapejy fanampiny ho an'ny elanelam-potoana voafaritra ny mpanjifa, ohatra:

Lohateny HTTP
zava-dehibe

X-RateLimit-Limit-ora
600

X-RateLimit-ora sisa
595

X-RateLimit-Limit-minitra
20

X-RateLimit-Minitra sisa
16

Mazava ho azy fa misy fomba maro samihafa hanamboarana ny fetran'ny fangatahana miankina amin'ny zavatra tianao hotratrarina.

hitany

Hamaranako eto, heveriko fa ampy ny fitaovana ho an'ny lahatsoratra voalohany momba ny InterSystems API Manager. Iray amin'ireo plugins 40 mahery no nampiasanay. Misy zavatra mahaliana maro hafa azonao atao amin'ny IAM:

  • Manampia rafitra fanamarinana foibe ho an'ny API-nao rehetra.
  • Ampitomboy ny enta-mavesatra amin'ny alàlan'ny fampifandanjana entana amin'ny serivisy maro.
  • Manampia fampiasa vaovao sy fanamboarana bug amin'ny mpihaino fitsapana alohan'ny fanavaozana feno.
  • Manome vavahadin-tranonkala natokana ho an'ny mpamorona anatiny sy ivelany mirakitra ny API rehetra.
  • Fangatahana cache mba hampihenana ny fotoana famaliana sy hampihenana ny entana ao amin'ny backend rafitra.

soratra masina

webinar

Manasa anao izahay amin'ny webinar "Fitantanana API miaraka amin'ny Fitantanana ny API InterSystems", izay hatao ny 21 Novambra amin'ny 10:00 ora Moskoa (GMT+3).
InterSystems API Manager (IAM) dia singa vaovao ao amin'ny InterSystems IRIS Data Platform izay manome fanaraha-maso, fanaraha-maso ary fitantanana ny fifamoivoizana mankany / avy amin'ny tranonkala API ao anatin'ny fotodrafitrasa IT. Ao amin'ny webinar dia hampiseho ny fahaiza-manaon'ny InterSystems API Management izahay:

  • Fitaovana fanaraha-maso ny fifamoivoizana API.
  • Ny fanaraha-maso ny fifamoivoizana API, anisan'izany ny fanaraha-maso ny bandwidth, ny famerana ny isan'ny antso API, ny fitazonana ny lisitry ny adiresy IP azo ekena sy nolavina, sns.
  • Fitaovana fanamafisana fiarovana API.
  • Vavahadin'ny mpamorona hamoahana ny antontan-taratasin'ny API interactive.
  • Toerana tokana ahafahana miditra amin'ny API.

Ny webinar dia natao ho an'ny architects, developers and system administrators.

Ilaina ny fisoratana anarana!

Source: www.habr.com

Add a comment