ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ API ಮ್ಯಾನೇಜರ್ ಅನ್ನು ಪರಿಚಯಿಸಲಾಗುತ್ತಿದೆ (+ ವೆಬ್ನಾರ್)

ನಾವು ಇತ್ತೀಚೆಗೆ ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ API ಮ್ಯಾನೇಜರ್ (IAM) ಅನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿದ್ದೇವೆ, ಇದು ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ ಐಆರ್‌ಐಎಸ್ ಡೇಟಾ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನ ಹೊಸ ಘಟಕವಾಗಿದ್ದು ಅದು IT ಮೂಲಸೌಕರ್ಯದಾದ್ಯಂತ ವೆಬ್ API ಟ್ರಾಫಿಕ್‌ನ ಗೋಚರತೆ, ನಿಯಂತ್ರಣ ಮತ್ತು ನಿರ್ವಹಣೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ.

ಈ ಲೇಖನದಲ್ಲಿ, IAM ಅನ್ನು ಹೇಗೆ ಹೊಂದಿಸುವುದು ಮತ್ತು IAM ನೊಂದಿಗೆ ನಿಮಗೆ ಲಭ್ಯವಿರುವ ಹಲವಾರು ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಪ್ರದರ್ಶಿಸುವುದು ಹೇಗೆ ಎಂದು ನಾನು ನಿಮಗೆ ತೋರಿಸುತ್ತೇನೆ. InterSystems API ಮ್ಯಾನೇಜರ್ ನಿಮಗೆ ಇದನ್ನು ಅನುಮತಿಸುತ್ತದೆ:

  • API ಅನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಿ, API ಅನ್ನು ಯಾರು ಬಳಸುತ್ತಾರೆ, ಯಾವ API ಗಳು ಹೆಚ್ಚು ಜನಪ್ರಿಯವಾಗಿವೆ ಮತ್ತು ಯಾವುದಕ್ಕೆ ಸುಧಾರಣೆಯ ಅಗತ್ಯವಿದೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಿ.
  • API ಅನ್ನು ಯಾರು ಬಳಸುತ್ತಾರೆ ಎಂಬುದನ್ನು ನಿಯಂತ್ರಿಸಿ ಮತ್ತು ಸರಳ ಪ್ರವೇಶ ನಿರ್ಬಂಧಗಳಿಂದ ವಿನಂತಿ-ಆಧಾರಿತ ನಿರ್ಬಂಧಗಳಿಗೆ API ಬಳಕೆಯನ್ನು ಮಿತಿಗೊಳಿಸಿ - ನೀವು ಕಸ್ಟಮ್ ನಿಯಂತ್ರಣವನ್ನು ಹೊಂದಿರುವಿರಿ ಮತ್ತು API ಬಳಕೆಯ ಮಾದರಿಗಳನ್ನು ಬದಲಾಯಿಸುವುದಕ್ಕೆ ತ್ವರಿತವಾಗಿ ಪ್ರತಿಕ್ರಿಯಿಸಬಹುದು.
  • OAuth2.0, LDAP ಅಥವಾ ಕೀ ಟೋಕನ್ ದೃಢೀಕರಣದಂತಹ ಕೇಂದ್ರೀಕೃತ ಭದ್ರತಾ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಸುರಕ್ಷಿತ API ಗಳು.
  • ಥರ್ಡ್-ಪಾರ್ಟಿ ಡೆವಲಪರ್‌ಗಳಿಗೆ ಅದನ್ನು ಸುಲಭಗೊಳಿಸಿ ಮತ್ತು ಮೀಸಲಾದ ಡೆವಲಪರ್ ಪೋರ್ಟಲ್ ತೆರೆಯುವ ಮೂಲಕ ಅವರಿಗೆ ಉನ್ನತ API ಅನುಭವವನ್ನು ಒದಗಿಸಿ.
  • API ಅನ್ನು ಸ್ಕೇಲ್ ಮಾಡಿ ಮತ್ತು ಕನಿಷ್ಠ ಪ್ರತಿಕ್ರಿಯೆ ಸುಪ್ತತೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.

SOA ಅಥವಾ ಮೈಕ್ರೊ ಸರ್ವಿಸ್ ಆರ್ಕಿಟೆಕ್ಚರ್‌ಗೆ ಪರಿವರ್ತನೆಗಾಗಿ API ನಿರ್ವಹಣೆ ಅತ್ಯಗತ್ಯವಾಗಿದೆ, ವೈಯಕ್ತಿಕ (ಸೂಕ್ಷ್ಮ) ಸೇವೆಗಳ ನಡುವಿನ ಏಕೀಕರಣವನ್ನು ಸರಳಗೊಳಿಸುತ್ತದೆ, ಎಲ್ಲಾ ಬಾಹ್ಯ ಮತ್ತು ಆಂತರಿಕ ಗ್ರಾಹಕರಿಗೆ ಲಭ್ಯವಾಗುವಂತೆ ಮಾಡುತ್ತದೆ. ಪರಿಣಾಮವಾಗಿ, ಹೊಸ APIಗಳನ್ನು ರಚಿಸಲು, ನಿರ್ವಹಿಸಲು ಮತ್ತು ಸೇವಿಸಲು ಸುಲಭವಾಗುತ್ತದೆ.

ನೀವು ಈಗಾಗಲೇ ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ IRIS ಅನ್ನು ಬಳಸುತ್ತಿದ್ದರೆ, ನಿಮ್ಮ ಪರವಾನಗಿಗೆ ನೀವು IAM ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಬಹುದು. IAM ಆಯ್ಕೆಯು ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ IRIS ಗ್ರಾಹಕರಿಗೆ ಉಚಿತವಾಗಿದೆ, ಆದರೆ IAM ಅನ್ನು ಬಳಸಲು ಪ್ರಾರಂಭಿಸಲು ನೀವು ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್‌ನಿಂದ ಹೊಸ ಪರವಾನಗಿ ಕೀಲಿಯನ್ನು ವಿನಂತಿಸಬೇಕು.

ನೀವು ಇನ್ನೂ ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ ಐಆರ್‌ಐಎಸ್ ಅನ್ನು ಬಳಸದಿದ್ದರೆ ಮತ್ತು ಇಂಟರ್ ಸಿಸ್ಟಮ್ಸ್ ಎಪಿಐ ಮ್ಯಾನೇಜರ್ ಅನ್ನು ಪ್ರಯತ್ನಿಸಲು ಯೋಜಿಸುತ್ತಿದ್ದರೆ, ದಯವಿಟ್ಟು ಇಂಟರ್ ಸಿಸ್ಟಮ್ಸ್ ಅನ್ನು ಸಂಪರ್ಕಿಸಿ.

ಪ್ರಾರಂಭ ಮತ್ತು ಸ್ಥಾಪನೆ

ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ ಗ್ರಾಹಕರು ವೆಬ್‌ಸೈಟ್‌ನಿಂದ IAM ವಿತರಣೆಯನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಬಹುದು WRC ವಿಭಾಗ "ಸಾಫ್ಟ್‌ವೇರ್ ವಿತರಣೆ" ಮತ್ತು ಡಾಕರ್ ಕಂಟೇನರ್ ಆಗಿ ರನ್ ಮಾಡಿ. ಕನಿಷ್ಠ ಸಿಸ್ಟಮ್ ಅವಶ್ಯಕತೆಗಳು:

ಆರಂಭದಲ್ಲಿ, ನೀವು ಡಾಕರ್ ಚಿತ್ರವನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ (ಮುಖ್ಯ! WRC ಯೊಂದಿಗಿನ ಆರ್ಕೈವ್ ಡಾಕರ್ ಚಿತ್ರವಲ್ಲ, ನೀವು ಅದನ್ನು ಅನ್ಪ್ಯಾಕ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ, ಒಳಗೆ ಡಾಕರ್ ಚಿತ್ರವಿದೆ):

docker load -i iam_image.tar

ಈ ಆಜ್ಞೆಯು ನಿಮ್ಮ ಸರ್ವರ್‌ನಲ್ಲಿ ನಂತರದ ಬಳಕೆಗಾಗಿ IAM ಚಿತ್ರವನ್ನು ಲಭ್ಯವಾಗುವಂತೆ ಮಾಡುತ್ತದೆ. IAM ಪ್ರತ್ಯೇಕ ಕಂಟೇನರ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ನೀವು ಇದನ್ನು ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ IRIS ನಿಂದ ಸ್ವತಂತ್ರವಾಗಿ ಅಳೆಯಬಹುದು. IAM ಅನ್ನು ಚಾಲನೆ ಮಾಡಲು ಪರವಾನಗಿಯನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ IRIS ಗೆ ಪ್ರವೇಶದ ಅಗತ್ಯವಿದೆ.

ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ IRIS ಅನ್ನು ಹೊಂದಿಸಿ:

  • ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ /api/IAM
  • ಬಳಕೆದಾರರನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ IAM
  • ಬಳಕೆದಾರ ಗುಪ್ತಪದವನ್ನು ಬದಲಾಯಿಸಿ IAM

ಈಗ IAM ಕಂಟೇನರ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸೋಣ. ಆರ್ಕೈವ್‌ನಲ್ಲಿ ನೀವು ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಕಾಣಬಹುದು iam-setup ವಿಂಡೋಸ್ ಮತ್ತು ಯುನಿಕ್ಸ್ (ಮತ್ತು ಮ್ಯಾಕ್) ಗಾಗಿ. ಈ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಪರಿಸರ ವೇರಿಯಬಲ್‌ಗಳನ್ನು ಸರಿಯಾಗಿ ಹೊಂದಿಸಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ, IAM ಕಂಟೇನರ್ ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ 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 ವಿಳಾಸ, ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ IRIS ಪೋರ್ಟ್ ಮತ್ತು IAM ಬಳಕೆದಾರರಿಗಾಗಿ ಪಾಸ್‌ವರ್ಡ್ ನೀವು ಪ್ರಾರಂಭಿಸಲು ಬೇಕಾಗಿರುವುದು.

ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಚಾಲನೆ ಮಾಡುವ ಬದಲು, ನೀವು ಪರಿಸರ ವೇರಿಯಬಲ್‌ಗಳನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಹೊಂದಿಸಬಹುದು:

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.

ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ API ಮ್ಯಾನೇಜರ್ ಅನ್ನು ಪರಿಚಯಿಸಲಾಗುತ್ತಿದೆ (+ ವೆಬ್ನಾರ್)

ಇದು ಸಂಪೂರ್ಣವಾಗಿ ಹೊಸ ನೋಡ್ ಆಗಿರುವುದರಿಂದ ಸದ್ಯಕ್ಕೆ ಖಾಲಿಯಾಗಿದೆ. ಅದನ್ನು ಬದಲಾಯಿಸೋಣ. API ಗಳನ್ನು ಮಾಡ್ಯೂಲ್‌ಗಳು ಮತ್ತು/ಅಥವಾ ಆಜ್ಞೆಗಳಾಗಿ ವಿಭಜಿಸಲು IAM ಕಾರ್ಯಸ್ಥಳಗಳ ಪರಿಕಲ್ಪನೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ನಮ್ಮ ಪ್ರಯೋಗಗಳಿಗಾಗಿ ನಾವು ಬಳಸುವ "ಡೀಫಾಲ್ಟ್" ಕಾರ್ಯಸ್ಥಳಕ್ಕೆ ಹೋಗಿ.

ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ API ಮ್ಯಾನೇಜರ್ ಅನ್ನು ಪರಿಚಯಿಸಲಾಗುತ್ತಿದೆ (+ ವೆಬ್ನಾರ್)

ಈ ಕಾರ್ಯಸ್ಥಳಕ್ಕಾಗಿ ವಿನಂತಿಗಳ ಸಂಖ್ಯೆಯು ಇನ್ನೂ ಶೂನ್ಯವಾಗಿದೆ, ಆದರೆ ಎಡಭಾಗದಲ್ಲಿರುವ ಮೆನುವಿನಲ್ಲಿ ನೀವು ಮೂಲಭೂತ IAM ಪರಿಕಲ್ಪನೆಗಳ ಕಲ್ಪನೆಯನ್ನು ಪಡೆಯುತ್ತೀರಿ. ಮೊದಲ ಎರಡು ಅಂಶಗಳು: ಸೇವೆಗಳು ಮತ್ತು ಮಾರ್ಗಗಳು ಅತ್ಯಂತ ಪ್ರಮುಖವಾಗಿವೆ:

  • ಸೇವೆಯು ನಾವು ಗ್ರಾಹಕರಿಗೆ ಪ್ರವೇಶವನ್ನು ಒದಗಿಸಲು ಬಯಸುವ API ಆಗಿದೆ. ಹೀಗಾಗಿ, ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ IRIS ನಲ್ಲಿನ REST API ಒಂದು ಸೇವೆಯಾಗಿದೆ, ಉದಾಹರಣೆಗೆ, ನೀವು ಅದನ್ನು ಬಳಸಲು ಬಯಸಿದರೆ Google API.
  • ಯಾವ ಸೇವೆಗೆ ಒಳಬರುವ ವಿನಂತಿಗಳನ್ನು ಫಾರ್ವರ್ಡ್ ಮಾಡಬೇಕೆಂದು ಮಾರ್ಗವು ನಿರ್ಧರಿಸುತ್ತದೆ. ಪ್ರತಿಯೊಂದು ಮಾರ್ಗವು ನಿರ್ದಿಷ್ಟ ಷರತ್ತುಗಳನ್ನು ಹೊಂದಿದೆ, ಮತ್ತು ಅವುಗಳನ್ನು ಪೂರೈಸಿದರೆ, ವಿನಂತಿಯನ್ನು ಅನುಗುಣವಾದ ಸೇವೆಗೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಒಂದು ಮಾರ್ಗವು IP, ಕಳುಹಿಸುವವರ ಡೊಮೇನ್, HTTP ವಿಧಾನಗಳು, URI ನ ಭಾಗಗಳು ಅಥವಾ ಈ ಉದಾಹರಣೆಗಳ ಸಂಯೋಜನೆಯೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಯಾಗಬಹುದು.

ಸೇವೆ

ಕೆಳಗಿನ ಮೌಲ್ಯಗಳೊಂದಿಗೆ ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ IRIS ಸೇವೆಯನ್ನು ರಚಿಸೋಣ:

ಕ್ಷೇತ್ರ
ಮೌಲ್ಯವನ್ನು
ವಿವರಣೆ

ಹೆಸರು
ಐರಿಸ್
ಸೇವೆಯ ಹೆಸರು

ಹೋಸ್ಟ್
IP
ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ IRIS ಸರ್ವರ್ ಹೋಸ್ಟ್ ಅಥವಾ ip

ಬಂದರು
52773
ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ IRIS ಸರ್ವರ್ ವೆಬ್ ಪೋರ್ಟ್

ಮಾರ್ಗ
/api/atelier
ಮೂಲ ಮಾರ್ಗ

ಪ್ರೋಟೋಕಾಲ್
HTTP
ಪ್ರೋಟೋಕಾಲ್

ಉಳಿದ ಮೌಲ್ಯಗಳನ್ನು ಡೀಫಾಲ್ಟ್ ಆಗಿ ಬಿಡಿ. ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಿ Create ಮತ್ತು ರಚಿಸಿದ ಸೇವೆಯ ID ಅನ್ನು ಬರೆಯಿರಿ.

ಮಾರ್ಗ

ಈಗ ನಾವು ಮಾರ್ಗವನ್ನು ರಚಿಸೋಣ:

ಕ್ಷೇತ್ರ
ಮೌಲ್ಯವನ್ನು
ವಿವರಣೆ

ಮಾರ್ಗ
/api/atelier
ಮೂಲ ಮಾರ್ಗ

ಪ್ರೋಟೋಕಾಲ್
HTTP
ಪ್ರೋಟೋಕಾಲ್

service.id
3 ರಿಂದ ಮಾರ್ಗದರ್ಶಿ
ಸೇವೆ (ಹಿಂದಿನ ಹಂತದಿಂದ ID)

ಉಳಿದ ಮೌಲ್ಯಗಳನ್ನು ಡೀಫಾಲ್ಟ್ ಆಗಿ ಬಿಡಿ. ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಿ Create ಮತ್ತು ರಚಿಸಿದ ಮಾರ್ಗದ ID ಅನ್ನು ಬರೆಯಿರಿ. ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, IAM ಪೋರ್ಟ್ 8000 ನಲ್ಲಿ ಒಳಬರುವ ವಿನಂತಿಗಳನ್ನು ಆಲಿಸುತ್ತದೆ. ಈಗ ವಿನಂತಿಗಳನ್ನು ಕಳುಹಿಸಲಾಗಿದೆ http://localhost:8000 ಮತ್ತು ಪ್ರಾರಂಭವಾಗುತ್ತದೆ /api/atelier ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ IRIS ಗೆ ಮರುನಿರ್ದೇಶಿಸಲಾಗುತ್ತದೆ.

ಪರೀಕ್ಷೆ

REST ಕ್ಲೈಂಟ್‌ನಲ್ಲಿ ವಿನಂತಿಯನ್ನು ರಚಿಸಲು ಪ್ರಯತ್ನಿಸೋಣ (ನಾನು ಬಳಸುತ್ತಿದ್ದೇನೆ ಪೋಸ್ಟ್ಮ್ಯಾನ್).

ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ API ಮ್ಯಾನೇಜರ್ ಅನ್ನು ಪರಿಚಯಿಸಲಾಗುತ್ತಿದೆ (+ ವೆಬ್ನಾರ್)

ಗೆ GET ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸೋಣ http://localhost:8000/api/atelier/ (ಮರೆಯಬೇಡ / ಕೊನೆಯಲ್ಲಿ) ಮತ್ತು InterSystems IRIS ನಿಂದ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಸ್ವೀಕರಿಸಿ. ಪ್ರತಿ ವಿನಂತಿಯು IAM ಮೂಲಕ ಹೋಗುತ್ತದೆ ಅದು ಮೆಟ್ರಿಕ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ:

  • HTTP ಸ್ಥಿತಿ ಕೋಡ್.
  • ವಿಳಂಬ
  • ಮಾನಿಟರಿಂಗ್ (ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ್ದರೆ).

ನಾನು ಇನ್ನೂ ಕೆಲವು ವಿನಂತಿಗಳನ್ನು ಮಾಡಿದ್ದೇನೆ (/api/atelier/est/ ನಂತಹ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದ ಅಂತಿಮ ಬಿಂದುಗಳಿಗೆ ಎರಡು ವಿನಂತಿಗಳನ್ನು ಒಳಗೊಂಡಂತೆ), ಫಲಿತಾಂಶಗಳು ತಕ್ಷಣವೇ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ನಲ್ಲಿ ಗೋಚರಿಸುತ್ತವೆ:

ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ API ಮ್ಯಾನೇಜರ್ ಅನ್ನು ಪರಿಚಯಿಸಲಾಗುತ್ತಿದೆ (+ ವೆಬ್ನಾರ್)

ಪ್ಲಗಿನ್‌ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲಾಗುತ್ತಿದೆ

ಈಗ ನಾವು ಮಾರ್ಗವನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ್ದೇವೆ, ನಾವು ನಮ್ಮ API ಅನ್ನು ನಿರ್ವಹಿಸಬಹುದು. ನಮ್ಮ ಸೇವೆಗೆ ಪೂರಕವಾಗುವ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ನಾವು ಸೇರಿಸಬಹುದು.

API ನ ನಡವಳಿಕೆಯನ್ನು ಬದಲಾಯಿಸುವ ಸಾಮಾನ್ಯ ಮಾರ್ಗವೆಂದರೆ ಪ್ಲಗಿನ್ ಅನ್ನು ಸೇರಿಸುವುದು. ಪ್ಲಗಿನ್‌ಗಳು ವೈಯಕ್ತಿಕ ಕಾರ್ಯವನ್ನು ಪ್ರತ್ಯೇಕಿಸುತ್ತವೆ ಮತ್ತು IAM ಗೆ ಜಾಗತಿಕವಾಗಿ ಅಥವಾ ಬಳಕೆದಾರ (ಬಳಕೆದಾರರ ಗುಂಪು), ಸೇವೆ ಅಥವಾ ಮಾರ್ಗದಂತಹ ವೈಯಕ್ತಿಕ ಘಟಕಗಳಿಗೆ ಮಾತ್ರ ಸಂಪರ್ಕಿಸಬಹುದು. ನಾವು ಮಾರ್ಗಕ್ಕೆ ದರ ಸೀಮಿತಗೊಳಿಸುವ ಪ್ಲಗಿನ್ ಅನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ. ಪ್ಲಗಿನ್ ಮತ್ತು ಮಾರ್ಗದ ನಡುವೆ ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸಲು, ನಮಗೆ ಮಾರ್ಗದ ಅನನ್ಯ ಗುರುತಿಸುವಿಕೆ (ID) ಅಗತ್ಯವಿದೆ.

ವಿನಂತಿಗಳ ಸಂಖ್ಯೆಯನ್ನು ಮಿತಿಗೊಳಿಸುವುದು

ಎಡ ಸೈಡ್‌ಬಾರ್ ಮೆನುವಿನಲ್ಲಿ ಪ್ಲಗಿನ್‌ಗಳನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ. ಈ ಪರದೆಯಲ್ಲಿ ನೀವು ಎಲ್ಲಾ ಸಕ್ರಿಯ ಪ್ಲಗಿನ್‌ಗಳನ್ನು ನೋಡಬಹುದು, ಆದರೆ ಈ IAM ಸರ್ವರ್ ಹೊಸದಾಗಿರುವ ಕಾರಣ, ಇನ್ನೂ ಯಾವುದೇ ಸಕ್ರಿಯ ಪ್ಲಗಿನ್‌ಗಳಿಲ್ಲ. ಆದ್ದರಿಂದ "ಹೊಸ ಪ್ಲಗಿನ್" ಕ್ಲಿಕ್ ಮಾಡುವ ಮೂಲಕ ಮುಂದಿನ ಹಂತಕ್ಕೆ ಮುಂದುವರಿಯಿರಿ.

ನಮಗೆ ಅಗತ್ಯವಿರುವ ಪ್ಲಗಿನ್ "ಟ್ರಾಫಿಕ್ ಕಂಟ್ರೋಲ್" ವಿಭಾಗದಲ್ಲಿದೆ ಮತ್ತು ಇದನ್ನು "ದರ ಮಿತಿ" ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಅದನ್ನು ಆಯ್ಕೆ ಮಾಡಿ. ನೀವು ಇಲ್ಲಿ ಹೊಂದಿಸಬಹುದಾದ ಕೆಲವು ಸೆಟ್ಟಿಂಗ್‌ಗಳಿವೆ, ಆದರೆ ನಾವು ಎರಡು ಕ್ಷೇತ್ರಗಳ ಬಗ್ಗೆ ಮಾತ್ರ ಕಾಳಜಿ ವಹಿಸುತ್ತೇವೆ:

ಕ್ಷೇತ್ರ
ಮೌಲ್ಯವನ್ನು
ವಿವರಣೆ

ಮಾರ್ಗ_ಐಡಿ
ID
ಮಾರ್ಗ ID

config.minute
5
ಪ್ರತಿ ನಿಮಿಷಕ್ಕೆ ವಿನಂತಿಗಳ ಸಂಖ್ಯೆ

ಅಷ್ಟೇ. ಪ್ಲಗಿನ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ಸಕ್ರಿಯವಾಗಿದೆ. ನಾವು ಒಂದು ನಿಮಿಷ, ಒಂದು ಗಂಟೆ ಅಥವಾ ದಿನದಂತಹ ವಿಭಿನ್ನ ಸಮಯದ ಮಧ್ಯಂತರಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಬಹುದು ಎಂಬುದನ್ನು ಗಮನಿಸಿ. ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಸಂಯೋಜಿಸಬಹುದು (ಉದಾಹರಣೆಗೆ, ಗಂಟೆಗೆ 1000 ವಿನಂತಿಗಳು ಮತ್ತು ಅದೇ ಸಮಯದಲ್ಲಿ ನಿಮಿಷಕ್ಕೆ 100 ವಿನಂತಿಗಳು). ನಾನು ನಿಮಿಷಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಿದ್ದೇನೆ ಏಕೆಂದರೆ ಇದು ಪ್ಲಗಿನ್‌ನ ಕಾರ್ಯವನ್ನು ಪರಿಶೀಲಿಸುವುದನ್ನು ಸುಲಭಗೊಳಿಸುತ್ತದೆ.

ನೀವು ಪೋಸ್ಟ್‌ಮ್ಯಾನ್‌ನಲ್ಲಿ ಮತ್ತೆ ಅದೇ ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸಿದರೆ, ಪ್ರತಿಕ್ರಿಯೆಯು 2 ಹೆಚ್ಚುವರಿ ಹೆಡರ್‌ಗಳೊಂದಿಗೆ ಹಿಂತಿರುಗಿರುವುದನ್ನು ನೀವು ನೋಡುತ್ತೀರಿ:

  • XRateLimit-ಮಿತಿ-ನಿಮಿಷ: 5
  • XRateLimit-ಉಳಿದ ನಿಮಿಷ: 4

ಇದು ಕ್ಲೈಂಟ್‌ಗೆ ಪ್ರತಿ ನಿಮಿಷಕ್ಕೆ 5 ವಿನಂತಿಗಳನ್ನು ಮಾಡಬಹುದು ಮತ್ತು ಪ್ರಸ್ತುತ ಸಮಯದ ಸ್ಲಾಟ್‌ನಲ್ಲಿ 4 ಹೆಚ್ಚಿನ ವಿನಂತಿಗಳನ್ನು ಮಾಡಬಹುದು ಎಂದು ಹೇಳುತ್ತದೆ.

ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ API ಮ್ಯಾನೇಜರ್ ಅನ್ನು ಪರಿಚಯಿಸಲಾಗುತ್ತಿದೆ (+ ವೆಬ್ನಾರ್)

ನೀವು ಮತ್ತೆ ಮತ್ತೆ ಅದೇ ವಿನಂತಿಯನ್ನು ಮಾಡಿದರೆ, ನೀವು ಅಂತಿಮವಾಗಿ ಲಭ್ಯವಿರುವ ಕೋಟಾವನ್ನು ಮೀರುತ್ತೀರಿ ಮತ್ತು ಬದಲಿಗೆ ಕೆಳಗಿನ ಪ್ರತಿಕ್ರಿಯೆಯ ದೇಹದೊಂದಿಗೆ 429 ರ HTTP ಸ್ಥಿತಿ ಕೋಡ್ ಅನ್ನು ಸ್ವೀಕರಿಸುತ್ತೀರಿ:

ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ API ಮ್ಯಾನೇಜರ್ ಅನ್ನು ಪರಿಚಯಿಸಲಾಗುತ್ತಿದೆ (+ ವೆಬ್ನಾರ್)

ಒಂದು ನಿಮಿಷ ನಿರೀಕ್ಷಿಸಿ ಮತ್ತು ನೀವು ಮತ್ತೆ ವಿನಂತಿಗಳನ್ನು ಸಲ್ಲಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.

ಇದು ನಿಮಗೆ ಅನುಮತಿಸುವ ಅನುಕೂಲಕರ ಕಾರ್ಯವಿಧಾನವಾಗಿದೆ:

  • ಲೋಡ್ ಉಲ್ಬಣಗಳಿಂದ ಬ್ಯಾಕೆಂಡ್ ಅನ್ನು ರಕ್ಷಿಸಿ.
  • ಅವರು ಎಷ್ಟು ವಿನಂತಿಗಳನ್ನು ಮಾಡಬಹುದು ಎಂಬುದನ್ನು ಗ್ರಾಹಕರಿಗೆ ತಿಳಿಸಿ.
  • API ಮೂಲಕ ಹಣಗಳಿಸಿ.

ನೀವು ವಿಭಿನ್ನ ಸಮಯದ ಮಧ್ಯಂತರಗಳಿಗೆ ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿಸಬಹುದು ಮತ್ತು ನಿರ್ದಿಷ್ಟ ಅವಧಿಯಲ್ಲಿ API ದಟ್ಟಣೆಯನ್ನು ಸುಗಮಗೊಳಿಸಬಹುದು. ನಿರ್ದಿಷ್ಟ ಮಾರ್ಗದಲ್ಲಿ ನೀವು ಗಂಟೆಗೆ 600 ವಿನಂತಿಗಳನ್ನು ಅನುಮತಿಸುತ್ತೀರಿ ಎಂದು ಹೇಳೋಣ. ಪ್ರತಿ ನಿಮಿಷಕ್ಕೆ ಸರಾಸರಿ 10 ವಿನಂತಿಗಳಿವೆ. ಆದರೆ ಕ್ಲೈಂಟ್ ಎಲ್ಲಾ 600 ವಿನಂತಿಗಳನ್ನು ಗಂಟೆಯ ಮೊದಲ ನಿಮಿಷದಲ್ಲಿ ಪೂರ್ಣಗೊಳಿಸುವುದನ್ನು ಯಾವುದೂ ತಡೆಯುವುದಿಲ್ಲ. ಬಹುಶಃ ಇದು ನಿಮಗೆ ಬೇಕಾಗಿರುವುದು. ಒಂದು ಗಂಟೆಯ ಅವಧಿಯಲ್ಲಿ ನೀವು ಹೆಚ್ಚು ಲೋಡ್ ಅನ್ನು ಸಾಧಿಸಲು ಬಯಸಬಹುದು. ಕ್ಷೇತ್ರದ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿಸುವ ಮೂಲಕ config.minute 20 ರ ಮೌಲ್ಯವು ನಿಮ್ಮ ಬಳಕೆದಾರರು ಪ್ರತಿ ನಿಮಿಷಕ್ಕೆ 20 ಕ್ಕಿಂತ ಹೆಚ್ಚು ವಿನಂತಿಗಳನ್ನು ಮತ್ತು ಗಂಟೆಗೆ 600 ವಿನಂತಿಗಳನ್ನು ಮಾಡುವುದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಪ್ರತಿ ನಿಮಿಷಕ್ಕೆ 10 ವಿನಂತಿಗಳ ಸಂಪೂರ್ಣ ಸರಾಸರಿ ಹರಿವಿಗೆ ಹೋಲಿಸಿದರೆ ಇದು ಒಂದು ನಿಮಿಷದ ಮಧ್ಯಂತರದಲ್ಲಿ ಸಣ್ಣ ಸ್ಪೈಕ್‌ಗಳನ್ನು ಅನುಮತಿಸುತ್ತದೆ, ಆದರೆ ಬಳಕೆದಾರರು ಗಂಟೆಯ ಕೋಟಾವನ್ನು ಒಂದು ನಿಮಿಷಕ್ಕೆ ಬಳಸಲಾಗುವುದಿಲ್ಲ. ಈಗ ಅವರ ಎಲ್ಲಾ ವಿನಂತಿಗಳನ್ನು ಬಳಸಲು ಅವರಿಗೆ ಕನಿಷ್ಠ 30 ನಿಮಿಷಗಳ ಅಗತ್ಯವಿದೆ. ಪ್ರತಿ ನಿರ್ದಿಷ್ಟ ಸಮಯದ ಮಧ್ಯಂತರಕ್ಕೆ ಗ್ರಾಹಕರು ಹೆಚ್ಚುವರಿ ಹೆಡರ್‌ಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತಾರೆ, ಉದಾಹರಣೆಗೆ:

HTTP ಹೆಡರ್
ಮೌಲ್ಯವನ್ನು

X- ದರ ಮಿತಿ-ಮಿತಿ-ಗಂಟೆ
600

ಎಕ್ಸ್-ದರ ಮಿತಿ-ಉಳಿದ-ಗಂಟೆ
595

X-RateLimit-ಮಿತಿ-ನಿಮಿಷ
20

X-RateLimit-ಉಳಿದ-ನಿಮಿಷ
16

ಸಹಜವಾಗಿ, ನೀವು ಏನನ್ನು ಸಾಧಿಸಲು ಬಯಸುತ್ತೀರಿ ಎಂಬುದರ ಆಧಾರದ ಮೇಲೆ ಪ್ರಶ್ನೆ ಮಿತಿಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಹಲವು ವಿಭಿನ್ನ ಮಾರ್ಗಗಳಿವೆ.

ಸಂಶೋಧನೆಗಳು

ನಾನು ಇಲ್ಲಿ ಮುಗಿಸುತ್ತೇನೆ, ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ API ಮ್ಯಾನೇಜರ್ ಕುರಿತು ಮೊದಲ ಲೇಖನಕ್ಕೆ ಸಾಕಷ್ಟು ವಿಷಯಗಳಿವೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ. ನಾವು 40 ಪ್ಲಗಿನ್‌ಗಳಲ್ಲಿ ಒಂದನ್ನು ಮಾತ್ರ ಬಳಸಿದ್ದೇವೆ. IAM ನೊಂದಿಗೆ ನೀವು ಮಾಡಬಹುದಾದ ಇನ್ನೂ ಅನೇಕ ಆಸಕ್ತಿದಾಯಕ ವಿಷಯಗಳಿವೆ:

  • ನಿಮ್ಮ ಎಲ್ಲಾ API ಗಳಿಗೆ ಕೇಂದ್ರ ದೃಢೀಕರಣ ಕಾರ್ಯವಿಧಾನವನ್ನು ಸೇರಿಸಿ.
  • ಬಹು ಸೇವೆಗಳಾದ್ಯಂತ ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸರ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಲೋಡ್ ಅನ್ನು ಅಳೆಯಿರಿ.
  • ಪೂರ್ಣ ನವೀಕರಣದ ಮೊದಲು ಪರೀಕ್ಷಾ ಪ್ರೇಕ್ಷಕರಿಗೆ ಹೊಸ ಕಾರ್ಯವನ್ನು ಮತ್ತು ದೋಷ ಪರಿಹಾರಗಳನ್ನು ಸೇರಿಸಿ.
  • ಎಲ್ಲಾ API ಗಳನ್ನು ದಾಖಲಿಸುವ ಮೀಸಲಾದ ವೆಬ್ ಪೋರ್ಟಲ್‌ನೊಂದಿಗೆ ಆಂತರಿಕ ಮತ್ತು ಬಾಹ್ಯ ಡೆವಲಪರ್‌ಗಳನ್ನು ಒದಗಿಸಿ.
  • ಪ್ರತಿಕ್ರಿಯೆ ಸಮಯವನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಮತ್ತು ಸಿಸ್ಟಮ್ ಬ್ಯಾಕೆಂಡ್‌ನಲ್ಲಿ ಲೋಡ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಸಂಗ್ರಹ ವಿನಂತಿಗಳು.

ಉಲ್ಲೇಖಗಳು

ವೆಬ್ನಾರ್

ನವೆಂಬರ್ 21 ರಂದು ಮಾಸ್ಕೋ ಸಮಯ 10:00 ಕ್ಕೆ (GMT+3) ನಡೆಯುವ "API ಮ್ಯಾನೇಜ್‌ಮೆಂಟ್ ವಿತ್ ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ API ಮ್ಯಾನೇಜ್‌ಮೆಂಟ್" ವೆಬ್‌ನಾರ್‌ಗೆ ನಾವು ನಿಮ್ಮನ್ನು ಆಹ್ವಾನಿಸುತ್ತೇವೆ.
ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ API ಮ್ಯಾನೇಜರ್ (IAM) ಎಂಬುದು ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ ಐಆರ್‌ಐಎಸ್ ಡೇಟಾ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನ ಒಂದು ಹೊಸ ಅಂಶವಾಗಿದ್ದು, ಇದು ಐಟಿ ಮೂಲಸೌಕರ್ಯದಲ್ಲಿ ವೆಬ್ APIಗಳಿಂದ/ಇಂದ ಟ್ರಾಫಿಕ್‌ನ ಮೇಲ್ವಿಚಾರಣೆ, ನಿಯಂತ್ರಣ ಮತ್ತು ನಿರ್ವಹಣೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ. ವೆಬ್ನಾರ್‌ನಲ್ಲಿ ನಾವು ಇಂಟರ್‌ಸಿಸ್ಟಮ್ಸ್ API ನಿರ್ವಹಣೆಯ ಪ್ರಮುಖ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತೇವೆ:

  • API ಸಂಚಾರ ಮಾನಿಟರಿಂಗ್ ಪರಿಕರಗಳು.
  • ಬ್ಯಾಂಡ್‌ವಿಡ್ತ್ ನಿಯಂತ್ರಣ ಸೇರಿದಂತೆ API ಟ್ರಾಫಿಕ್ ನಿಯಂತ್ರಣಗಳು, API ಕರೆಗಳ ಸಂಖ್ಯೆಯನ್ನು ಮಿತಿಗೊಳಿಸುವುದು, IP ವಿಳಾಸಗಳ ಅನುಮತಿಸಲಾದ ಮತ್ತು ನಿರಾಕರಿಸಿದ ಪಟ್ಟಿಗಳ ಪಟ್ಟಿಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು ಇತ್ಯಾದಿ.
  • API ಭದ್ರತಾ ಕಾನ್ಫಿಗರೇಶನ್ ಪರಿಕರಗಳು.
  • ಸಂವಾದಾತ್ಮಕ API ದಸ್ತಾವೇಜನ್ನು ಪ್ರಕಟಿಸಲು ಡೆವಲಪರ್ ಪೋರ್ಟಲ್.
  • API ಗೆ ಪ್ರವೇಶದ ಏಕ ಬಿಂದು.

ವೆಬ್ನಾರ್ ವಾಸ್ತುಶಿಲ್ಪಿಗಳು, ಡೆವಲಪರ್‌ಗಳು ಮತ್ತು ಸಿಸ್ಟಮ್ ನಿರ್ವಾಹಕರಿಗಾಗಿ ಉದ್ದೇಶಿಸಲಾಗಿದೆ.

ನೋಂದಣಿ ಅಗತ್ಯವಿದೆ!

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ