वेब सेवा के इस्तेमाल को ऑप्टिमाइज़ करना

अहम जानकारी: Google Maps Platform का प्रीमियम प्लान, अब साइन अप करने या नए ग्राहकों के लिए उपलब्ध नहीं है.

खास जानकारी

अगर आपका ऐप्लिकेशन, Google Maps Platform की किसी वेब सेवा के इस्तेमाल की सीमाओं से ज़्यादा है, तो सेवा गड़बड़ी का मैसेज दिखाती है. अगर आपका ऐप्लिकेशन इस्तेमाल की सीमाओं का उल्लंघन करता रहता है, तो हो सकता है कि उसे वेब सेवा को ऐक्सेस करने से रोक दिया जाए. साथ ही, कुछ मामलों में उसे "403 Forbidden" जवाब मिल सकते हैं.

अगर आपके ऐप्लिकेशन की वेब सेवा के अनुरोधों को गड़बड़ी के मैसेज मिलते हैं, तो वेब सेवाओं का इस्तेमाल कम किया जा सकता है. इसके लिए, ऐप्लिकेशन को इस तरह ऑप्टिमाइज़ करें कि वे वेब सेवाओं का ज़्यादा असरदार तरीके से इस्तेमाल कर सकें.

शुरू करने से पहले

अपने ऐप्लिकेशन की वेब सेवा के इस्तेमाल को ऑप्टिमाइज़ करने से पहले, पक्का करें कि आपने इस्तेमाल के उदाहरण के लिए सही सेवा और Maps API का सही लाइसेंस इस्तेमाल किया हो.

इस्तेमाल के उदाहरण की पुष्टि करना

Google Maps Platform की वेब सेवाएं, उन ऐप्लिकेशन के लिए सबसे सही हैं जिनमें उपयोगकर्ताओं से रीयल-टाइम में इनपुट की ज़रूरत नहीं होती. इसके अलावा, इनका इस्तेमाल तब भी किया जा सकता है, जब वेब ब्राउज़र का इस्तेमाल नहीं किया जाता. उदाहरण के लिए, अगर आपके ऐप्लिकेशन में ऐसे डेटासेट का इस्तेमाल किया जाता है जो उपयोगकर्ता के इनपुट पर निर्भर नहीं करता है, तो आपको वेब सेवाओं का इस्तेमाल करना चाहिए. उदाहरण के लिए, किसी रियल एस्टेट वेबसाइट पर पतों का एक तय सेट जिसे जियोकोड करने की ज़रूरत है.

ध्यान दें कि वेब सेवाओं के लिए, क्वेरी प्रति मिनट (क्यूपीएम) की सीमा, आपके Premium प्लान के लाइसेंस पर लागू होती है. इससे कोई फ़र्क़ नहीं पड़ता कि अनुरोध कितने आईपी पतों से भेजे गए हैं.

दूसरी ओर, Maps JavaScript API के साथ उपलब्ध क्लाइंट-साइड सेवाओं के लिए, हर ब्राउज़र सेशन के हिसाब से दर की सीमा तय की जाती है. इससे यह पक्का किया जाता है कि अनुरोधों को आपके सभी उपयोगकर्ताओं के बीच बांटा जाए और उपयोगकर्ताओं की संख्या बढ़ने पर, अनुरोधों को भी बढ़ाया जा सके. इसलिए, क्लाइंट-साइड सेवाएं उन ऐप्लिकेशन के लिए सबसे अच्छी होती हैं जो उपयोगकर्ताओं से मिले पते को रीयल टाइम में जियोकोड करते हैं. जैसे, स्टोर लोकेटर, जो किसी उपयोगकर्ता के घर के पते के आस-पास मौजूद स्टोर खोजता है.

वेब सेवाओं का इस्तेमाल कब करना चाहिए, इस बारे में ज़्यादा जानकारी के लिए जियोकोडिंग की रणनीतियां देखें. यह दस्तावेज़, जियोकोडिंग के लिए खास तौर पर बनाया गया है. हालांकि, इसमें दिए गए सुझाव सभी वेब सेवाओं पर लागू होते हैं. इसमें यह भी बताया गया है कि आपको सर्वर-साइड वेब सेवाओं या उनके क्लाइंट-साइड वर्शन का इस्तेमाल कब करना चाहिए.

वेब सेवा के इस्तेमाल को ऑप्टिमाइज़ करने का तरीका

वेब सेवाओं का ज़्यादा असरदार तरीके से इस्तेमाल करने के लिए, इनका इस्तेमाल कम किया जा सकता है. इसके लिए, सिर्फ़ तब अनुरोध भेजें, जब ज़रूरी हो. साथ ही, इस्तेमाल को एक जैसा रखें, ताकि यह तय सीमा से ज़्यादा न हो.

कैश किए गए नतीजे

Google Maps Platform की सेवा की शर्तों के सेक्शन 3.2.3.a और b में बताया गया है कि आपको किसी भी कॉन्टेंट को पहले से फ़ेच, इंडेक्स, सेव या कैश मेमोरी में सेव नहीं करना चाहिए. हालांकि, सेवा की शर्तों में बताई गई कुछ शर्तों के तहत ऐसा किया जा सकता है.

ध्यान दें कि किसी जगह की पहचान करने के लिए इस्तेमाल किया जाने वाला जगह का आईडी, कैश मेमोरी में सेव करने से जुड़ी पाबंदी से छूट मिलती है. इसलिए, जगह के आईडी की वैल्यू को हमेशा के लिए सेव किया जा सकता है.

अनुरोधों को थ्रॉटल करना

इस्तेमाल की सीमा से ज़्यादा अनुरोध न हों, इसके लिए अपने ऐप्लिकेशन को इस तरह कॉन्फ़िगर किया जा सकता है कि वह अनुरोधों को थ्रॉटल करे. इसके लिए, अनुरोधों को ऐसी कतार में रखा जाता है जो यह ट्रैक करती है कि अनुरोध कब भेजे गए थे. अगर आपके ऐप्लिकेशन को क्यूपीएम की सीमा से ज़्यादा एक और अनुरोध मिलता है, तो अपनी क्वेरी की गति को अडजस्ट करें. अपने कोड में, क्वेरी के बीच S सेकंड का इंतज़ार करने का समय जोड़ें. अगर क्वेरी के नतीजे में अब भी कोटे से जुड़ी गड़बड़ी दिखती है, तो इंतज़ार की अवधि को दोगुना करें. इसके बाद, दूसरी क्वेरी भेजें. जब तक क्वेरी में कोई गड़बड़ी न हो, तब तक इंतज़ार की अवधि को घटाते या बढ़ाते रहें.

थ्रॉटलिंग के बावजूद, ऐप्लिकेशन को अब भी OVER_QUERY_LIMIT स्टेटस कोड वाले जवाब मिल सकते हैं. अपने ऐप्लिकेशन को कॉन्फ़िगर करें, ताकि वह 20 मि॰से॰ का छोटा सा डिले डाले. अगर उसे ऐसा जवाब मिलता है, तो फिर से कोशिश करें.