د InterSystems API مدیر معرفي کول (+ ویبینار)

موږ پدې وروستیو کې د InterSystems API مدیر (IAM) خپور کړ، د InterSystems IRIS ډیټا پلیټ فارم یوه نوې برخه چې د IT زیربنا په اوږدو کې د ویب API ترافیک لید ، کنټرول او مدیریت چمتو کوي.

پدې مقاله کې ، زه به تاسو ته وښیم چې څنګه IAM تنظیم کړم او ځینې ډیری وړتیاوې وښیم چې تاسو ته د IAM سره شتون لري. د InterSystems API مدیر تاسو ته اجازه درکوي:

  • د API څارنه وکړئ، پوه شئ چې څوک API کاروي، کوم APIs خورا مشهور دي، او کوم چې پرمختګ ته اړتیا لري.
  • کنټرول کړئ چې څوک API کاروي او د غوښتنې پراساس محدودیتونو ته د ساده لاسرسي محدودیتونو څخه د API کارول محدود کړئ - تاسو دودیز کنټرول لرئ او کولی شئ د API مصرف نمونو بدلولو ته په چټکۍ سره ځواب ووایی.
  • خوندي APIs د مرکزي امنیت میکانیزمونو لکه OAuth2.0، LDAP یا کلیدي ټوکن تصدیق په کارولو سره.
  • د دریمې ډلې پراختیا کونکو لپاره دا اسانه کړئ او دوی ته د وقف شوي پراختیا کونکي پورټل په خلاصولو سره د غوره API تجربه چمتو کړئ.
  • API اندازه کړئ او لږترلږه د غبرګون ځنډ یقیني کړئ.

د API مدیریت د SOA یا مایکرو سرویس جوړښت ته د لیږد لپاره اړین دی، د انفرادي (مایکرو) خدماتو ترمنځ ادغام ساده کول، دا د ټولو بهرنیو او داخلي پیرودونکو لپاره چمتو کول. د پایلې په توګه، نوي APIs رامینځته کول، ساتل، او مصرف کول اسانه کیږي.

که تاسو دمخه د InterSystems IRIS کاروئ ، تاسو کولی شئ خپل جواز ته د IAM اختیار اضافه کړئ. د IAM اختیار د InterSystems IRIS پیرودونکو لپاره وړیا دی، مګر تاسو باید د IAM کارولو پیل کولو لپاره د InterSystems څخه د نوي جواز کیلي غوښتنه وکړئ.

که تاسو لاهم د InterSystems IRIS نه کاروئ او پالن لرئ چې د InterSystems API مدیر هڅه وکړئ، مهرباني وکړئ د InterSystems سره اړیکه ونیسئ.

پیل او نصب کول

د InterSystems پیرودونکي کولی شي د ویب پاڼې څخه د IAM توزیع ډاونلوډ کړي WRC برخه "د سافټویر توزیع" او د ډاکر کانټینر په توګه پرمخ وړئ. د سیسټم لږترلږه اړتیاوې:

په پیل کې ، تاسو اړتیا لرئ د ډاکر عکس ډاونلوډ کړئ (مهم! د WRC سره آرشیف د ډاکر عکس ندی ، تاسو اړتیا لرئ دا خلاص کړئ ، دننه د ډاکر عکس شتون لري):

docker load -i iam_image.tar

دا کمانډ به د IAM عکس ستاسو په سرور کې د وروسته کارولو لپاره چمتو کړي. IAM د یو جلا کانټینر په توګه پرمخ ځي، نو تاسو کولی شئ دا د InterSystems IRIS څخه په خپلواکه توګه اندازه کړئ. د IAM چلول د جواز ډاونلوډ کولو لپاره InterSystems IRIS ته لاسرسي ته اړتیا لري.

د InterSystems IRIS تنظیم کړئ:

  • د ویب غوښتنلیک فعال کړئ /api/IAM
  • کارن فعال کړئ IAM
  • د کارن پاسورډ بدل کړئ IAM

اوس راځئ چې د IAM کانټینر پیل کړو. په آرشیف کې به تاسو سکریپټونه ومومئ iam-setup د وینډوز او یونیکس (او ماک) لپاره. دا سکریپټونه به تاسو سره د چاپیریال متغیرونو په سمه توګه تنظیم کولو کې مرسته وکړي ، د IAM کانټینر ته اجازه ورکوي چې د InterSystems IRIS سره اړیکه رامینځته کړي. دلته په ماک کې د سکریپټ چلولو یوه بیلګه ده:

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

لکه څنګه چې تاسو لیدلی شئ ، د بشپړ عکس نوم ، IP پته ، د IAM کارونکي لپاره د InterSystems IRIS پورټ او پټنوم ټول هغه څه دي چې تاسو یې پیل کولو ته اړتیا لرئ.

د سکریپټ چلولو پرځای، تاسو کولی شئ د چاپیریال تغیرات په لاسي ډول تنظیم کړئ:

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

په لاره اچول

اوس راځئ چې د کمانډ په چلولو سره IAM پیل کړو:

docker-compose up -d

دا قومانده د IAM کانتینرونه تنظیموي او ډاډ ترلاسه کوي چې هرڅه سم روان دي. د کانتینرونو حالت د کمانډ په کارولو سره چک کیږي:

docker ps

په خپل براوزر کې د اډمین انٹرفیس خلاص کړئ localhost:8002.

د InterSystems API مدیر معرفي کول (+ ویبینار)

دا د اوس لپاره خالي دی ځکه چې دا یو بشپړ نوی نوډ دی. راځئ چې دا بدل کړو. IAM د APIs په ماډلونو او/یا کمانډونو ویشلو لپاره د کاري ځایونو مفهوم ملاتړ کوي. د "ډیفالټ" کاري ځای ته لاړ شئ کوم چې موږ به د خپلو تجربو لپاره وکاروو.

د InterSystems API مدیر معرفي کول (+ ویبینار)

د دې کاري ځای لپاره د غوښتنو شمیر لاهم صفر دی ، مګر تاسو به په ښي خوا کې مینو کې د IAM لومړني مفاهیمو نظر ترلاسه کړئ. لومړی دوه عناصر: خدمات او لارې خورا مهم دي:

  • خدمت هغه API دی چې موږ غواړو مصرف کونکو ته لاسرسی چمتو کړو. په دې توګه، په InterSystems IRIS کې REST API یو خدمت دی، لکه څنګه چې د مثال په توګه، د ګوګل API که تاسو غواړئ دا وکاروئ.
  • لاره پریکړه کوي چې کوم خدمت ته رسیدلي غوښتنې باید واستول شي. هره لاره یو مشخص شرایط لري، او که دوی پوره شي، غوښتنه مناسب خدمت ته لیږل کیږي. د مثال په توګه، روټ کولی شي د IP، لیږونکي ډومین، HTTP میتودونه، د URI برخې، یا د دې مثالونو ترکیب سره سمون ولري.

خدمت

راځئ چې د لاندې ارزښتونو سره د InterSystems IRIS خدمت جوړ کړو:

ډګر
ارزښت
شرح

نوم
عنبیه
د خدمت نوم

کوربه
IP
د InterSystems IRIS سرور کوربه یا ip

بندر
52773
د InterSystems IRIS سرور ویب پورټ

لاره
/api/atelier
د ریښی لاره

پروتوکول
http
پروتوکول

پاتې ارزښتونه د ډیفالټ په توګه پریږدئ. تڼۍ کلیک وکړئ Create او د جوړ شوي خدمت ID ولیکئ.

لاره

اوس راځئ چې یوه لاره جوړه کړو:

ډګر
ارزښت
شرح

لاره
/api/atelier
د ریښی لاره

پروتوکول
http
پروتوکول

service.id
د 3 څخه لارښود
خدمت (د مخکینۍ مرحلې څخه ID)

پاتې ارزښتونه د ډیفالټ په توګه پریږدئ. تڼۍ کلیک وکړئ Create او د جوړ شوي لارې ID ولیکئ. په ډیفالټ ډول، IAM په 8000 پورټ کې د راتلونکو غوښتنو لپاره غوږ نیسي. اوس غوښتنې لیږل کیږي http://localhost:8000 او سره پیل کوي /api/atelier د InterSystems IRIS ته لیږل کیږي.

ازمايښت

راځئ چې په REST پیرودونکي کې د غوښتنې رامینځته کولو هڅه وکړو (زه یې کاروم پوسټ مین).

د InterSystems API مدیر معرفي کول (+ ویبینار)

راځئ چې د GET غوښتنه واستوو http://localhost:8000/api/atelier/ (هېر مو نشي / په پای کې) او د InterSystems IRIS څخه ځواب ترلاسه کړئ. هره غوښتنه د IAM له لارې تیریږي کوم چې میټریک راټولوي:

  • د HTTP حالت کوډ.
  • ځنډ.
  • څارنه (که ترتیب شوی وي).

ما یو څو نورې غوښتنې وکړې (د نه شتون پای ټکي ته د دوه غوښتنو په شمول لکه /api/atelier/est/)، پایلې سمدلاسه په ډشبورډ کې لیدل کیږي:

د InterSystems API مدیر معرفي کول (+ ویبینار)

د پلگ انونو سره کار کول

اوس چې موږ یو روټ ترتیب کړی، موږ کولی شو خپل API اداره کړو. موږ کولی شو هغه ځانګړتیاوې اضافه کړو چې زموږ خدمت بشپړوي.

د API چلند بدلولو ترټولو عام لاره د پلگ ان اضافه کول دي. پلگ انونه انفرادي فعالیت جلا کوي او د IAM سره یا په نړیواله کچه یا یوازې انفرادي ادارو سره وصل کیدی شي ، لکه د کارونکي (د کاروونکو ډله) ، خدمت یا لاره. موږ به په لاره کې د نرخ محدودیت پلگ ان اضافه کولو سره پیل وکړو. د دې لپاره چې د پلگ ان او لارې تر مینځ اړیکې رامینځته کړئ ، موږ د لارې ځانګړي پیژندونکي (ID) ته اړتیا لرو.

د غوښتنو شمیر محدودول

په ښي اړخ کې د پلگ انونو کلیک وکړئ. تاسو کولی شئ په دې سکرین کې ټول فعال پلگ انونه وګورئ، مګر دا چې د IAM سرور نوی دی، تر اوسه هیڅ فعال پلگ ان شتون نلري. نو د "نوي پلگ ان" په کلیک کولو سره بل ګام ته لاړشئ.

هغه پلگ ان چې موږ ورته اړتیا لرو د "ټرافيک کنټرول" کټګورۍ کې دی او د "د نرخ محدودیت" په نوم یادیږي. وټاکئ. دلته یو څو تنظیمات شتون لري چې تاسو یې دلته تنظیم کولی شئ، مګر موږ یوازې دوه برخو ته پاملرنه کوو:

ډګر
ارزښت
شرح

route_id
ID
د لارې ID

config.minute
5
په هره دقیقه کې د غوښتنو شمیر

بس نور څه نه. پلگ ان ترتیب شوی او فعال دی. په یاد ولرئ چې موږ کولی شو مختلف وخت وقفې وټاکو، لکه یوه دقیقه، یو ساعت یا یوه ورځ. تنظیمات یوځای کیدی شي (د مثال په توګه ، په هر ساعت کې 1000 غوښتنې او په ورته وخت کې په یوه دقیقه کې 100 غوښتنې). ما دقیقې غوره کړې ځکه چې دا د پلگ ان فعالیت چیک کول اسانه کوي.

که تاسو ورته غوښتنه بیا په پوسټ مین کې واستوئ، نو تاسو به وګورئ چې ځواب د 2 اضافي سرلیکونو سره بیرته راستانه شوی:

  • XRateLimit-Limit-minute: 5
  • XRateLimit- پاتې دقیقې: 4

دا پیرودونکي ته وايي چې دا په یوه دقیقه کې تر 5 پورې غوښتنې کولی شي او په اوسني وخت سلاټ کې 4 نورې غوښتنې کولی شي.

د InterSystems API مدیر معرفي کول (+ ویبینار)

که تاسو ورته غوښتنه په تکرار سره وکړئ، نو تاسو به بالاخره د شته کوټې څخه وګرځئ او پرځای به یې د لاندې غبرګون بدن سره د 429 HTTP حالت کوډ ترلاسه کړئ:

د InterSystems API مدیر معرفي کول (+ ویبینار)

یوه دقیقه انتظار وکړئ او تاسو به وکولی شئ بیا غوښتنې وسپارئ.

دا یو مناسب میکانیزم دی چې تاسو ته اجازه درکوي:

  • شاته د بار له زیاتوالي څخه خوندي کړئ.
  • مراجعینو ته ووایاست چې دوی څومره غوښتنې کولی شي.
  • API منیټ کړئ.

تاسو کولی شئ د مختلف وخت وقفو لپاره ارزښتونه تنظیم کړئ او پدې توګه د یوې ټاکلې مودې په اوږدو کې د API ترافیک اسانه کړئ. راځئ چې ووایو تاسو په یوه ځانګړي لاره کې په ساعت کې 600 غوښتنې ته اجازه ورکوئ. په اوسط ډول په یوه دقیقه کې 10 غوښتنې شتون لري. مګر هیڅ شی د پیرودونکي مخه نه نیسي چې د ساعت په لومړۍ دقیقه کې ټولې 600 غوښتنې بشپړې کړي. شاید دا هغه څه دي چې تاسو ورته اړتیا لرئ. تاسو ممکن غواړئ د یو ساعت په اوږدو کې حتی ډیر بار ترلاسه کړئ. د ساحې ارزښت ترتیبولو سره config.minute د 20 ارزښت دا یقیني کوي چې ستاسو کاروونکي په یوه دقیقه کې له 20 څخه زیات غوښتنې او په ساعت کې 600 غوښتنې نه کوي. دا په یوه دقیقه کې د 10 غوښتنو د بشپړ اوسط جریان په پرتله د یوې دقیقې وقفې کې کوچني سپیکونو ته اجازه ورکوي ، مګر کارونکي نشي کولی د یوې دقیقې لپاره د ساعت کوټه وکاروي. اوس دوی به د خپلو ټولو غوښتنو کارولو لپاره لږترلږه 30 دقیقو ته اړتیا ولري. پیرودونکي به د هر ټاکل شوي وخت وقفې لپاره اضافي سرلیکونه ترلاسه کړي، د بیلګې په توګه:

د HTTP سرلیک
ارزښت

X-RateLimit-Limit-hour
600

د X-RateLimit-پاتې-ساعت
595

X-RateLimit-Limit-minute
20

X-RateLimit- پاتې-دقیقه
16

البته، د پوښتنو محدودیتونو تنظیم کولو لپاره ډیری مختلفې لارې شتون لري پدې پورې اړه لري چې تاسو څه ترلاسه کول غواړئ.

موندنو

زه به دلته پای ته ورسوم، زه فکر کوم چې د InterSystems API مدیر په اړه د لومړۍ مقالې لپاره کافي مواد شتون لري. موږ یوازې یو له 40 څخه ډیر پلگ ان کارولی. ډیری نور په زړه پوري شیان شتون لري چې تاسو یې د IAM سره کولی شئ:

  • ستاسو د ټولو APIs لپاره د مرکزي تصدیق میکانیزم اضافه کړئ.
  • په ډیری خدماتو کې د بار بیلنسر په کارولو سره بار اندازه کړئ.
  • د بشپړ تازه کولو دمخه د ازموینې لیدونکو ته نوي فعالیت او بګ فکسونه اضافه کړئ.
  • داخلي او بهرني پراختیا کونکو ته د وقف شوي ویب پورټل سره چمتو کړئ چې ټول APIs مستند کوي.
  • کیچ غوښتنه کوي چې د غبرګون وخت کم کړي او د سیسټم په شالید کې بار کم کړي.

مرجع

ویبینټ

موږ تاسو ویبینار ته بلنه ورکوو "د API مدیریت د InterSystems API مدیریت سره"، کوم چې به د نومبر په 21 د ماسکو په وخت 10:00 (GMT+3) ترسره شي.
د InterSystems API مدیر (IAM) د InterSystems IRIS ډیټا پلیټ فارم یوه نوې برخه ده چې د IT زیربنا کې د ویب APIs څخه / څخه د ترافیک نظارت ، کنټرول او مدیریت چمتو کوي. په ویبینار کې به موږ د InterSystems API مدیریت کلیدي وړتیاوې وښیو:

  • د API ترافیک څارنې وسیلې.
  • د API ترافیک کنټرولونه ، پشمول د بینډ ویت کنټرول ، د API کالونو شمیر محدودول ، د IP پتې اجازه او رد شوي لیستونو لیست ساتل ، او داسې نور.
  • د API امنیت ترتیب کولو وسیلې.
  • د متقابل API اسنادو خپرولو لپاره د پراختیا کونکي پورټل.
  • API ته د لاسرسي واحد نقطه.

ویبینار د معمارانو، پراختیا کونکو او سیسټم مدیرانو لپاره دی.

نوم لیکنه اړینه ده!

سرچینه: www.habr.com

Add a comment