2011-02-10 7 views
5

अधिकांश एपीआई डेवलपर्स को एपीआई कुंजी प्राप्त करने के लिए कहते हैं। एपीआई कुंजी का उपयोग दर सीमित करने के लिए किया जाता है। रेट सीमा को रोकने के लिए एक डेवलपर को एकाधिक एपीआई कुंजी प्राप्त करने से रोकने के लिए क्या है?डेवलपर को एकाधिक एपीआई कुंजी प्राप्त करने से रोकने के लिए क्या है

जिस समस्या का सामना कर रहा हूं वह यह तय कर रहा है कि एपीआई कुंजी कैसे जारी करें। एकमात्र चीज जो मैंने पाया वह एक "डेवलपर कुंजी" जारी करना है।

  • मैं वास्तव में एक आवेदन के उपयोग को सीमित (किसी एकाधिक कुंजियों प्राप्त कर सकते हैं और अनुक्रम यह एक अनुप्रयोग के लिए उच्च दर प्राप्त करने के लिए अपने अनुप्रयोग के लिए उन्हें खिलाने)
  • और मुझे नहीं है रेट करने के लिए एक तरह से नहीं मिला है प्रति-अनुप्रयोग कुंजी रखने के लिए (कोई कुंजी प्राप्त और अनेक डोमेन पर इसका इस्तेमाल कर सकते)

उत्तर

5

एक एपीआई कुंजी, सीमित दर के लिए सही उपकरण नहीं है एपीआई वापस आ गया है, खासकर अगर एक रास्ता मिल गया कॉल करने योग्य यह काम करता है अगर कोड अंत उपयोगकर्ता के ब्राउज़र पर एकीकृत है, क्योंकि यह "तटस्थ जमीन" के रूप में कार्य करता है जो यह सुनिश्चित कर सकता है कि एप्लिकेशन पहचान को धोखा नहीं दिया जा रहा है, लेकिन अगर इसे आपके क्लाइंट डेवलपर्स द्वारा लिखी गई सेवा या एप्लिकेशन से नहीं कहा जाता है ।

संसाधन उपयोग नियंत्रण एक आर्थिक समस्या है, इसलिए यह आर्थिक समाधान की मांग करता है। एक अद्वितीय hashcash टोकन प्रति-कॉल की आवश्यकता है इसे लागू करने का एक अच्छा तरीका है। (हैशैश एक सबूत-ऑफ-वर्क स्कीम है - इसके लिए कॉलर को यह साबित करने की आवश्यकता होती है कि उन्होंने सीपीयू समय का एक समूह एक व्यर्थ कार्य पर खर्च किया है क्योंकि अनुरोध को साबित करने के लिए उनके पास मूल्य है।)

यह है लोड लोड के आधार पर स्केलेबल - यदि आपकी सेवा को अभिभूत किया जा रहा है, तो आप टोकन में आवश्यक शून्य बिट्स में "कीमत" को गतिशील रूप से बढ़ा सकते हैं; एक बिट द्वारा प्रत्येक वृद्धि आधे से अनुरोध दर को कम कर देगा। (बस सुनिश्चित करें कि आपका एपीआई हैशैशैश "कीमत" को गतिशील कर सकता है यदि यह गतिशील है।)

+0

मुझे आश्चर्य है कि कोई ऐसा एपीआई कैसे बना सकता है जो "बैक-एंड कॉल करने योग्य" नहीं है? – silow

+0

+1 दिलचस्प हैशकैश लिंक – orangepips

+0

@silow मैं Google मानचित्र की तरह कुछ सोच रहा हूं, जहां सार्वजनिक एपीआई एक एम्बेड करने योग्य इंटरैक्टिव एप्लिकेशन का हिस्सा है जो ब्राउज़र में चलता है; Google मानचित्र जावास्क्रिप्ट घटक और Google बैक-एंड सर्वर के बीच HTTP API गैर-सार्वजनिक है। –

संबंधित मुद्दे

 संबंधित मुद्दे