ಕನ್ನಡ

API ರೇಟ್ ಲಿಮಿಟಿಂಗ್ ಕುರಿತು ಒಂದು ಸಮಗ್ರ ಮಾರ್ಗದರ್ಶಿ. ಇದು ಅದರ ಪ್ರಾಮುಖ್ಯತೆ, ವಿಭಿನ್ನ ಅನುಷ್ಠಾನ ತಂತ್ರಗಳು, ಮತ್ತು ದೃಢವಾದ ಹಾಗೂ ಸ್ಕೇಲೆಬಲ್ APIಗಳನ್ನು ನಿರ್ಮಿಸಲು ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.

API ರೇಟ್ ಲಿಮಿಟಿಂಗ್: ಸ್ಕೇಲೆಬಲ್ APIಗಳಿಗಾಗಿ ಅನುಷ್ಠಾನ ತಂತ್ರಗಳು

ಇಂದಿನ ಅಂತರ್‌ಸಂಪರ್ಕಿತ ಜಗತ್ತಿನಲ್ಲಿ, APIಗಳು (ಅಪ್ಲಿಕೇಶನ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಇಂಟರ್ಫೇಸ್‌ಗಳು) ಅಸಂಖ್ಯಾತ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಮತ್ತು ಸೇವೆಗಳ ಬೆನ್ನೆಲುಬಾಗಿವೆ. ಅವು ವಿಭಿನ್ನ ಸಿಸ್ಟಂಗಳ ನಡುವೆ ಸುಗಮ ಸಂವಹನ ಮತ್ತು ಡೇಟಾ ವಿನಿಮಯವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತವೆ. ಆದಾಗ್ಯೂ, APIಗಳ ಮೇಲಿನ ಹೆಚ್ಚುತ್ತಿರುವ ಅವಲಂಬನೆಯು ಸವಾಲುಗಳನ್ನು ಸಹ ಪರಿಚ-ಯಿಸುತ್ತದೆ, ವಿಶೇಷವಾಗಿ ಅವುಗಳ ಸ್ಕೇಲೆಬಿಲಿಟಿ ಮತ್ತು ಭದ್ರತೆಗೆ ಸಂಬಂಧಿಸಿದಂತೆ. API ನಿರ್ವಹಣೆಯ ಒಂದು ನಿರ್ಣಾಯಕ ಅಂಶವೆಂದರೆ ರೇಟ್ ಲಿಮಿಟಿಂಗ್, ಇದು ದುರುಪಯೋಗವನ್ನು ತಡೆಯಲು, ನ್ಯಾಯೋಚಿತ ಬಳಕೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಮತ್ತು ನಿಮ್ಮ API ಮೂಲಸೌಕರ್ಯದ ಒಟ್ಟಾರೆ ಸ್ಥಿರತೆಯನ್ನು ಕಾಪಾಡಿಕೊಳ್ಳುವಲ್ಲಿ ಪ್ರಮುಖ ಪಾತ್ರ ವಹಿಸುತ್ತದೆ.

API ರೇಟ್ ಲಿಮಿಟಿಂಗ್ ಎಂದರೇನು?

API ರೇಟ್ ಲಿಮಿಟಿಂಗ್ ಎನ್ನುವುದು ಒಂದು ನಿರ್ದಿಷ್ಟ ಸಮಯದ ವಿಂಡೋದಲ್ಲಿ ಕ್ಲೈಂಟ್ API ಗೆ ಮಾಡಬಹುದಾದ ವಿನಂತಿಗಳ ಸಂಖ್ಯೆಯನ್ನು ನಿಯಂತ್ರಿಸಲು ಬಳಸುವ ಒಂದು ತಂತ್ರವಾಗಿದೆ. ಇದು ಗೇಟ್‌ಕೀಪರ್‌ನಂತೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಡಿನೈಯಲ್ ಆಫ್ ಸರ್ವಿಸ್ (DoS) ಮತ್ತು ಡಿಸ್ಟ್ರಿಬ್ಯೂಟೆಡ್ ಡಿನೈಯಲ್ ಆಫ್ ಸರ್ವಿಸ್ (DDoS) ನಂತಹ ದುರುದ್ದೇಶಪೂರಿತ ದಾಳಿಗಳನ್ನು ತಡೆಯುತ್ತದೆ, ಜೊತೆಗೆ ಕಳಪೆಯಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಿದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಂದ ಉಂಟಾಗುವ ಅನಿರೀಕ್ಷಿತ ಓವರ್‌ಲೋಡ್ ಅನ್ನು ತಡೆಯುತ್ತದೆ. ರೇಟ್ ಲಿಮಿಟಿಂಗ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಮೂಲಕ, ನೀವು ನಿಮ್ಮ API ಸಂಪನ್ಮೂಲಗಳನ್ನು ರಕ್ಷಿಸಬಹುದು, ಸ್ಥಿರವಾದ ಬಳಕೆದಾರ ಅನುಭವವನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬಹುದು ಮತ್ತು ಸೇವಾ ಅಡಚಣೆಗಳನ್ನು ತಡೆಯಬಹುದು.

ರೇಟ್ ಲಿಮಿಟಿಂಗ್ ಏಕೆ ಮುಖ್ಯ?

ರೇಟ್ ಲಿಮಿಟಿಂಗ್ ಹಲವಾರು ಕಾರಣಗಳಿಗಾಗಿ ಅತ್ಯಗತ್ಯ:

ಅನುಷ್ಠಾನ ತಂತ್ರಗಳು

API ರೇಟ್ ಲಿಮಿಟಿಂಗ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಹಲವಾರು ವಿಭಿನ್ನ ವಿಧಾನಗಳಿವೆ, ಪ್ರತಿಯೊಂದಕ್ಕೂ ತನ್ನದೇ ಆದ ಅನುಕೂಲಗಳು ಮತ್ತು ಅನಾನುಕೂಲತೆಗಳಿವೆ. ಇಲ್ಲಿ ಕೆಲವು ಸಾಮಾನ್ಯ ತಂತ್ರಗಳನ್ನು ನೀಡಲಾಗಿದೆ:

1. ಟೋಕನ್ ಬಕೆಟ್ ಅಲ್ಗಾರಿದಮ್

ಟೋಕನ್ ಬಕೆಟ್ ಅಲ್ಗಾರಿದಮ್ ರೇಟ್ ಲಿಮಿಟಿಂಗ್‌ಗೆ ಜನಪ್ರಿಯ ಮತ್ತು ಹೊಂದಿಕೊಳ್ಳುವ ವಿಧಾನವಾಗಿದೆ. ಟೋಕನ್‌ಗಳನ್ನು ಹೊಂದಿರುವ ಬಕೆಟ್ ಅನ್ನು ಕಲ್ಪಿಸಿಕೊಳ್ಳಿ. ಪ್ರತಿ ವಿನಂತಿಯು ಒಂದು ಟೋಕನ್ ಅನ್ನು ಬಳಸುತ್ತದೆ. ಟೋಕನ್‌ಗಳು ಲಭ್ಯವಿದ್ದರೆ, ವಿನಂತಿಯನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತದೆ; ಇಲ್ಲದಿದ್ದರೆ, ಅದನ್ನು ತಿರಸ್ಕರಿಸಲಾಗುತ್ತದೆ ಅಥವಾ ವಿಳಂಬಗೊಳಿಸಲಾಗುತ್ತದೆ. ಬಕೆಟ್ ಅನ್ನು ನಿಯತಕಾಲಿಕವಾಗಿ ನಿರ್ದಿಷ್ಟ ದರದಲ್ಲಿ ಟೋಕನ್‌ಗಳಿಂದ ಮರುಪೂರಣ ಮಾಡಲಾಗುತ್ತದೆ.

ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ:

ಪ್ರಯೋಜನಗಳು:

ಅನಾನುಕೂಲಗಳು:

ಉದಾಹರಣೆ:

ನೀವು ಪ್ರತಿ ಬಳಕೆದಾರರಿಗೆ ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ 10 ವಿನಂತಿಗಳ ದರ ಮಿತಿಯನ್ನು ಹೊಂದಿರುವ API ಅನ್ನು ಹೊಂದಿದ್ದೀರಿ ಎಂದು ಭಾವಿಸೋಣ, ಟೋಕನ್ ಬಕೆಟ್ ಅಲ್ಗಾರಿದಮ್ ಬಳಸಿ. ಪ್ರತಿ ಬಳಕೆದಾರರು 10 ಟೋಕನ್‌ಗಳನ್ನು ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳಬಲ್ಲ ಬಕೆಟ್ ಅನ್ನು ಹೊಂದಿರುತ್ತಾರೆ. ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ, ಬಕೆಟ್ 10 ಟೋಕನ್‌ಗಳಿಂದ (ಗರಿಷ್ಠ ಸಾಮರ್ಥ್ಯದವರೆಗೆ) ಮರುಪೂರಣಗೊಳ್ಳುತ್ತದೆ. ಒಬ್ಬ ಬಳಕೆದಾರ ಒಂದು ಸೆಕೆಂಡಿನಲ್ಲಿ 15 ವಿನಂತಿಗಳನ್ನು ಮಾಡಿದರೆ, ಮೊದಲ 10 ವಿನಂತಿಗಳು ಟೋಕನ್‌ಗಳನ್ನು ಬಳಸುತ್ತವೆ, ಮತ್ತು ಉಳಿದ 5 ವಿನಂತಿಗಳನ್ನು ತಿರಸ್ಕರಿಸಲಾಗುತ್ತದೆ ಅಥವಾ ವಿಳಂಬಗೊಳಿಸಲಾಗುತ್ತದೆ.

2. ಲೀಕಿ ಬಕೆಟ್ ಅಲ್ಗಾರಿದಮ್

ಲೀಕಿ ಬಕೆಟ್ ಅಲ್ಗಾರಿದಮ್ ಟೋಕನ್ ಬಕೆಟ್‌ಗೆ ಹೋಲುತ್ತದೆ, ಆದರೆ ಇದು ವಿನಂತಿಗಳ ಹೊರಹರಿವನ್ನು ನಿಯಂತ್ರಿಸುವುದರ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸುತ್ತದೆ. ಸ್ಥಿರ ಸೋರಿಕೆ ದರವನ್ನು ಹೊಂದಿರುವ ಬಕೆಟ್ ಅನ್ನು ಕಲ್ಪಿಸಿಕೊಳ್ಳಿ. ಒಳಬರುವ ವಿನಂತಿಗಳನ್ನು ಬಕೆಟ್‌ಗೆ ಸೇರಿಸಲಾಗುತ್ತದೆ, ಮತ್ತು ಬಕೆಟ್ ಸ್ಥಿರ ದರದಲ್ಲಿ ವಿನಂತಿಗಳನ್ನು ಸೋರಿಕೆ ಮಾಡುತ್ತದೆ. ಬಕೆಟ್ ತುಂಬಿ ಹೋದರೆ, ವಿನಂತಿಗಳನ್ನು ಕೈಬಿಡಲಾಗುತ್ತದೆ.

ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ:

ಪ್ರಯೋಜನಗಳು:

ಅನಾನುಕೂಲಗಳು:

ಉದಾಹರಣೆ:

ಚಿತ್ರಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವ API ಅನ್ನು ಪರಿಗಣಿಸಿ. ಸೇವೆಯು ಓವರ್‌ಲೋಡ್ ಆಗುವುದನ್ನು ತಡೆಯಲು, ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ 5 ಚಿತ್ರಗಳ ಸೋರಿಕೆ ದರದೊಂದಿಗೆ ಲೀಕಿ ಬಕೆಟ್ ಅನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ. ಈ ದರವನ್ನು ಮೀರಿದ ಯಾವುದೇ ಚಿತ್ರ ಅಪ್‌ಲೋಡ್‌ಗಳನ್ನು ಕೈಬಿಡಲಾಗುತ್ತದೆ. ಇದು ಚಿತ್ರ ಸಂಸ್ಕರಣಾ ಸೇವೆಯು ಸುಗಮವಾಗಿ ಮತ್ತು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ.

3. ಫಿಕ್ಸೆಡ್ ವಿಂಡೋ ಕೌಂಟರ್

ಫಿಕ್ಸೆಡ್ ವಿಂಡೋ ಕೌಂಟರ್ ಅಲ್ಗಾರಿದಮ್ ಸಮಯವನ್ನು ಸ್ಥಿರ-ಗಾತ್ರದ ವಿಂಡೋಗಳಾಗಿ (ಉದಾ., 1 ನಿಮಿಷ, 1 ಗಂಟೆ) ವಿಭಜಿಸುತ್ತದೆ. ಪ್ರತಿ ಕ್ಲೈಂಟ್‌ಗೆ, ಇದು ಪ್ರಸ್ತುತ ವಿಂಡೋದಲ್ಲಿ ಮಾಡಿದ ವಿನಂತಿಗಳ ಸಂಖ್ಯೆಯನ್ನು ಎಣಿಕೆ ಮಾಡುತ್ತದೆ. ಎಣಿಕೆಯು ಮಿತಿಯನ್ನು ಮೀರಿದರೆ, ವಿಂಡೋ ಮರುಹೊಂದಿಸುವವರೆಗೆ ನಂತರದ ವಿನಂತಿಗಳನ್ನು ತಿರಸ್ಕರಿಸಲಾಗುತ್ತದೆ.

ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ:

ಪ್ರಯೋಜನಗಳು:

ಅನಾನುಕೂಲಗಳು:

ಉದಾಹರಣೆ:

ಫಿಕ್ಸೆಡ್ ವಿಂಡೋ ಕೌಂಟರ್ ಅಲ್ಗಾರಿದಮ್ ಬಳಸಿ, ಪ್ರತಿ ನಿಮಿಷಕ್ಕೆ 100 ವಿನಂತಿಗಳ ದರ ಮಿತಿಯನ್ನು ಹೊಂದಿರುವ API ಅನ್ನು ಕಲ್ಪಿಸಿಕೊಳ್ಳಿ. ಒಬ್ಬ ಬಳಕೆದಾರ ಸೈದ್ಧಾಂತಿಕವಾಗಿ ಒಂದು ನಿಮಿಷದ ಕೊನೆಯ ಸೆಕೆಂಡಿನಲ್ಲಿ 100 ವಿನಂತಿಗಳನ್ನು ಮಾಡಬಹುದು ಮತ್ತು ನಂತರ ಮುಂದಿನ ನಿಮಿಷದ ಮೊದಲ ಸೆಕೆಂಡಿನಲ್ಲಿ ಮತ್ತೊಂದು 100 ವಿನಂತಿಗಳನ್ನು ಮಾಡಬಹುದು, ಪರಿಣಾಮಕಾರಿಯಾಗಿ ತಮ್ಮ ಅನುಮತಿಸಲಾದ ದರವನ್ನು ದ್ವಿಗುಣಗೊಳಿಸಬಹುದು.

4. ಸ್ಲೈಡಿಂಗ್ ವಿಂಡೋ ಲಾಗ್

ಸ್ಲೈಡಿಂಗ್ ವಿಂಡೋ ಲಾಗ್ ಅಲ್ಗಾರಿದಮ್ ಸ್ಲೈಡಿಂಗ್ ಟೈಮ್ ವಿಂಡೋದಲ್ಲಿ ಮಾಡಿದ ಎಲ್ಲಾ ವಿನಂತಿಗಳ ಲಾಗ್ ಅನ್ನು ಇರಿಸುತ್ತದೆ. ಪ್ರತಿ ಬಾರಿ ವಿನಂತಿಯನ್ನು ಮಾಡಿದಾಗ, ಅಲ್ಗಾರಿದಮ್ ಲಾಗ್‌ನಲ್ಲಿನ ವಿನಂತಿಗಳ ಸಂಖ್ಯೆ ಮಿತಿಯನ್ನು ಮೀರಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಹಾಗಿದ್ದರೆ, ವಿನಂತಿಯನ್ನು ತಿರಸ್ಕರಿಸಲಾಗುತ್ತದೆ.

ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ:

ಪ್ರಯೋಜನಗಳು:

ಅನಾನುಕೂಲಗಳು:

ಉದಾಹರಣೆ:

ಒಂದು ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮ API ಪ್ರತಿ ಗಂಟೆಗೆ 500 ಪೋಸ್ಟ್‌ಗಳಿಗೆ ಬಳಕೆದಾರರನ್ನು ಸೀಮಿತಗೊಳಿಸಲು ಸ್ಲೈಡಿಂಗ್ ವಿಂಡೋ ಲಾಗ್ ಅನ್ನು ಬಳಸಬಹುದು. ಲಾಗ್ ಕಳೆದ 500 ಪೋಸ್ಟ್‌ಗಳ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ. ಒಬ್ಬ ಬಳಕೆದಾರರು ಹೊಸ ಸಂದೇಶವನ್ನು ಪೋಸ್ಟ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿದಾಗ, ಅಲ್ಗಾರಿದಮ್ ಕಳೆದ ಗಂಟೆಯಲ್ಲಿ ಈಗಾಗಲೇ 500 ಪೋಸ್ಟ್‌ಗಳಿವೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಹಾಗಿದ್ದರೆ, ಪೋಸ್ಟ್ ಅನ್ನು ತಿರಸ್ಕರಿಸಲಾಗುತ್ತದೆ.

5. ಸ್ಲೈಡಿಂಗ್ ವಿಂಡೋ ಕೌಂಟರ್

ಸ್ಲೈಡಿಂಗ್ ವಿಂಡೋ ಕೌಂಟರ್ ಫಿಕ್ಸೆಡ್ ವಿಂಡೋ ಕೌಂಟರ್ ಮತ್ತು ಸ್ಲೈಡಿಂಗ್ ವಿಂಡೋ ಲಾಗ್ ಎರಡರ ಪ್ರಯೋಜನಗಳನ್ನು ಸಂಯೋಜಿಸುವ ಒಂದು ಹೈಬ್ರಿಡ್ ವಿಧಾನವಾಗಿದೆ. ಇದು ವಿಂಡೋವನ್ನು ಸಣ್ಣ ವಿಭಾಗಗಳಾಗಿ ವಿಂಗಡಿಸುತ್ತದೆ ಮತ್ತು ದರ ಮಿತಿಯನ್ನು ನಿರ್ಧರಿಸಲು ತೂಕದ ಲೆಕ್ಕಾಚಾರವನ್ನು ಬಳಸುತ್ತದೆ. ಇದು ಫಿಕ್ಸೆಡ್ ವಿಂಡೋ ಕೌಂಟರ್‌ಗೆ ಹೋಲಿಸಿದರೆ ಹೆಚ್ಚು ನಿಖರವಾದ ರೇಟ್ ಲಿಮಿಟಿಂಗ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ ಮತ್ತು ಸ್ಲೈಡಿಂಗ್ ವಿಂಡೋ ಲಾಗ್‌ಗಿಂತ ಕಡಿಮೆ ಸಂಪನ್ಮೂಲ-ತೀವ್ರವಾಗಿರುತ್ತದೆ.

ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ:

ಪ್ರಯೋಜನಗಳು:

ಅನಾನುಕೂಲಗಳು:

ಉದಾಹರಣೆ:

ಒಂದು ಇ-ಕಾಮರ್ಸ್ API ಪ್ರತಿ ನಿಮಿಷಕ್ಕೆ 200 ವಿನಂತಿಗಳ ದರ ಮಿತಿಯೊಂದಿಗೆ ಸ್ಲೈಡಿಂಗ್ ವಿಂಡೋ ಕೌಂಟರ್ ಅನ್ನು ಬಳಸಬಹುದು, ನಿಮಿಷವನ್ನು 10-ಸೆಕೆಂಡ್ ವಿಭಾಗಗಳಾಗಿ ವಿಂಗಡಿಸುತ್ತದೆ. ಬಳಕೆದಾರರು ತಮ್ಮ ದರ ಮಿತಿಯನ್ನು ಮೀರಿದ್ದಾರೆಯೇ ಎಂದು ನಿರ್ಧರಿಸಲು ಅಲ್ಗಾರಿದಮ್ ಹಿಂದಿನ ಪೂರ್ಣ ವಿಭಾಗಗಳು ಮತ್ತು ಪ್ರಸ್ತುತ ವಿಭಾಗದ ವಿನಂತಿಗಳ ತೂಕದ ಸರಾಸರಿಯನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡುತ್ತದೆ.

ಸರಿಯಾದ ತಂತ್ರವನ್ನು ಆರಿಸುವುದು

ನಿಮ್ಮ API ಗೆ ಉತ್ತಮ ರೇಟ್-ಲಿಮಿಟಿಂಗ್ ತಂತ್ರವು ನಿಮ್ಮ ನಿರ್ದಿಷ್ಟ ಅವಶ್ಯಕತೆಗಳು ಮತ್ತು ನಿರ್ಬಂಧಗಳನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ. ಈ ಕೆಳಗಿನ ಅಂಶಗಳನ್ನು ಪರಿಗಣಿಸಿ:

ಸಾಮಾನ್ಯವಾಗಿ, ಫಿಕ್ಸೆಡ್ ವಿಂಡೋ ಕೌಂಟರ್‌ನಂತಹ ಸರಳ ಅಲ್ಗಾರಿದಮ್‌ಗಳು ಕಡಿಮೆ ಕಠಿಣ ಅವಶ್ಯಕತೆಗಳನ್ನು ಹೊಂದಿರುವ APIಗಳಿಗೆ ಸೂಕ್ತವಾಗಿವೆ, ಆದರೆ ಸ್ಲೈಡಿಂಗ್ ವಿಂಡೋ ಲಾಗ್ ಅಥವಾ ಸ್ಲೈಡಿಂಗ್ ವಿಂಡೋ ಕೌಂಟರ್‌ನಂತಹ ಹೆಚ್ಚು ಅತ್ಯಾಧುನಿಕ ಅಲ್ಗಾರಿದಮ್‌ಗಳು ಹೆಚ್ಚು ನಿಖರವಾದ ರೇಟ್ ಲಿಮಿಟಿಂಗ್ ಅಗತ್ಯವಿರುವ APIಗಳಿಗೆ ಹೆಚ್ಚು ಸೂಕ್ತವಾಗಿವೆ.

ಅನುಷ್ಠಾನದ ಪರಿಗಣನೆಗಳು

API ರೇಟ್ ಲಿಮಿಟಿಂಗ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವಾಗ, ಈ ಕೆಳಗಿನ ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಪರಿಗಣಿಸಿ:

ಉದಾಹರಣೆ: Redis ಮತ್ತು API ಗೇಟ್‌ವೇಯೊಂದಿಗೆ ರೇಟ್ ಲಿಮಿಟಿಂಗ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದು

ಈ ಉದಾಹರಣೆಯು ದರ ಮಿತಿ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು Redis ಬಳಸಿ ಮತ್ತು ಮಿತಿಗಳನ್ನು ಜಾರಿಗೊಳಿಸಲು API ಗೇಟ್‌ವೇ (ಕಾಂಗ್, ಟೈಕ್, ಅಥವಾ AWS, Azure, ಅಥವಾ Google Cloud ನಂತಹ ಕ್ಲೌಡ್ ಪೂರೈಕೆದಾರರಿಂದ API ನಿರ್ವಹಣಾ ಸೇವೆಗಳು) ಬಳಸಿ ಸರಳೀಕೃತ ಅನುಷ್ಠಾನವನ್ನು ವಿವರಿಸುತ್ತದೆ.

  1. ಕ್ಲೈಂಟ್ ದೃಢೀಕರಣ: API ಗೇಟ್‌ವೇ ಒಂದು ವಿನಂತಿಯನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ ಮತ್ತು API ಕೀ ಅಥವಾ JWT ಬಳಸಿ ಕ್ಲೈಂಟ್ ಅನ್ನು ದೃಢೀಕರಿಸುತ್ತದೆ.
  2. ದರ ಮಿತಿ ಪರಿಶೀಲನೆ: ಗೇಟ್‌ವೇ ಕ್ಲೈಂಟ್‌ನ ID ಅನ್ನು (ಉದಾ., API ಕೀ) ಹಿಂಪಡೆಯುತ್ತದೆ ಮತ್ತು ಆ ಕ್ಲೈಂಟ್‌ಗೆ ಮತ್ತು ನಿರ್ದಿಷ್ಟ API ಎಂಡ್‌ಪಾಯಿಂಟ್‌ಗಾಗಿ Redis ನಲ್ಲಿನ ಪ್ರಸ್ತುತ ವಿನಂತಿ ಎಣಿಕೆಯನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. Redis ಕೀ `rate_limit:api_key:{api_key}:endpoint:{endpoint}` ನಂತೆ ಇರಬಹುದು.
  3. ಎಣಿಕೆಯನ್ನು ಹೆಚ್ಚಿಸಿ: ವಿನಂತಿ ಎಣಿಕೆಯು ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಮಿತಿಗಿಂತ ಕಡಿಮೆಯಿದ್ದರೆ, ಗೇಟ್‌ವೇ ಅಟಾಮಿಕ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಬಳಸಿ Redis ನಲ್ಲಿ ಕೌಂಟರ್ ಅನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ (ಉದಾ., Redis ನಲ್ಲಿ `INCR` ಮತ್ತು `EXPIRE` ಕಮಾಂಡ್‌ಗಳು).
  4. ಅನುಮತಿಸಿ ಅಥವಾ ತಿರಸ್ಕರಿಸಿ: ಹೆಚ್ಚಿದ ಎಣಿಕೆಯು ಮಿತಿಯನ್ನು ಮೀರಿದರೆ, ಗೇಟ್‌ವೇ `429 Too Many Requests` ದೋಷದೊಂದಿಗೆ ವಿನಂತಿಯನ್ನು ತಿರಸ್ಕರಿಸುತ್ತದೆ. ಇಲ್ಲದಿದ್ದರೆ, ವಿನಂತಿಯನ್ನು ಬ್ಯಾಕೆಂಡ್ API ಗೆ ಫಾರ್ವರ್ಡ್ ಮಾಡಲಾಗುತ್ತದೆ.
  5. ದೋಷ ನಿರ್ವಹಣೆ: ಗೇಟ್‌ವೇ ಉಪಯುಕ್ತ ದೋಷ ಸಂದೇಶವನ್ನು ಒದಗಿಸುತ್ತದೆ, ಇದರಲ್ಲಿ ಕ್ಲೈಂಟ್ ಮರುಪ್ರಯತ್ನಿಸುವ ಮೊದಲು ಎಷ್ಟು ಸಮಯ ಕಾಯಬೇಕು ಎಂಬುದನ್ನು ಸೂಚಿಸುವ `Retry-After` ಹೆಡರ್ ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ.
  6. Redis ಕಾನ್ಫಿಗರೇಶನ್: ಪರ್ಸಿಸ್ಟೆನ್ಸ್ ಮತ್ತು ಹೆಚ್ಚಿನ ಲಭ್ಯತೆಗಾಗಿ ಸೂಕ್ತ ಸೆಟ್ಟಿಂಗ್‌ಗಳೊಂದಿಗೆ Redis ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ.

ಉದಾಹರಣೆ ದೋಷ ಸಂದೇಶ:

`HTTP/1.1 429 Too Many Requests` `Content-Type: application/json` `Retry-After: 60` `{"error": "Rate limit exceeded. Please try again in 60 seconds."}`

ಕ್ಲೌಡ್ ಪ್ರೊವೈಡರ್ ಪರಿಹಾರಗಳು

AWS, Azure, ಮತ್ತು Google Cloud ನಂತಹ ಪ್ರಮುಖ ಕ್ಲೌಡ್ ಪೂರೈಕೆದಾರರು ರೇಟ್ ಲಿಮಿಟಿಂಗ್ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಅಂತರ್ನಿರ್ಮಿತ API ನಿರ್ವಹಣಾ ಸೇವೆಗಳನ್ನು ನೀಡುತ್ತಾರೆ. ಈ ಸೇವೆಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಹೆಚ್ಚು ಸುಧಾರಿತ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ:

ಉದಾಹರಣೆಗಳು:

ತೀರ್ಮಾನ

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

ವಿವಿಧ ರೇಟ್-ಲಿಮಿಟಿಂಗ್ ಅಲ್ಗಾರಿದಮ್‌ಗಳು ಮತ್ತು ಅನುಷ್ಠಾನದ ಪರಿಗಣನೆಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವ ಮೂಲಕ, ನೀವು ಇಂದಿನ ಅಂತರ್‌ಸಂಪರ್ಕಿತ ಜಗತ್ತಿನ ಬೇಡಿಕೆಗಳನ್ನು ಪೂರೈಸುವ, ಸ್ಥಿತಿಸ್ಥಾಪಕ, ಸುರಕ್ಷಿತ ಮತ್ತು ಸ್ಕೇಲೆಬಲ್ APIಗಳನ್ನು ನಿರ್ಮಿಸಬಹುದು. ನಿಮ್ಮ ದರ ಮಿತಿಗಳನ್ನು ಸರಿಹೊಂದಿಸಲು ಮತ್ತು ಅತ್ಯುತ್ತಮ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ನಿಮ್ಮ API ಟ್ರಾಫಿಕ್ ಅನ್ನು ನಿರಂತರವಾಗಿ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲು ಮತ್ತು ವಿಶ್ಲೇಷಿಸಲು ಮರೆಯದಿರಿ. ಉತ್ತಮವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಿದ ರೇಟ್ ಲಿಮಿಟಿಂಗ್ ತಂತ್ರವು ಸಕಾರಾತ್ಮಕ ಡೆವಲಪರ್ ಅನುಭವ ಮತ್ತು ಸ್ಥಿರವಾದ ಅಪ್ಲಿಕೇಶನ್ ಪರಿಸರ ವ್ಯವಸ್ಥೆಗೆ ಗಮನಾರ್ಹವಾಗಿ ಕೊಡುಗೆ ನೀಡುತ್ತದೆ.