সকল ব্যবহারকারী যাতে ন্যায্যভাবে ব্যবহার করতে পারেন তা নিশ্চিত করার জন্য Google Calendar API-এর কোটা নির্দিষ্ট করা আছে। Calendar API ব্যবহার করার সময় তিনটি গুরুত্বপূর্ণ সীমাবদ্ধতা বিবেচনা করতে হবে:
- প্রতিটি প্রকল্প এবং প্রতিটি ব্যবহারকারীর জন্য API ব্যবহারের কোটা প্রয়োগ করা হয়। আরও তথ্যের জন্য পরবর্তী বিভাগটি দেখুন।
- সাধারণ ক্যালেন্ডার ব্যবহারের সীমা : ক্যালেন্ডার ব্যবহারের সীমা এড়িয়ে চলুন।
- কর্মক্ষম সীমা: আপনার যেকোনো সময় রেট সীমিত হতে পারে। উদাহরণস্বরূপ, যদি আপনি দ্রুত ধারাবাহিকভাবে একটি একক ক্যালেন্ডারে লেখার চেষ্টা করেন।
ক্যালেন্ডার এপিআই ব্যবহারের কোটার প্রকারভেদ
দুই ধরণের কোটা বলবৎ করা হয়:
- প্রতি মিনিটে প্রতি প্রকল্প: এটি আপনার গুগল ক্লাউড প্রকল্পের দ্বারা করা অনুরোধের সংখ্যা।
- প্রতি মিনিটে প্রতি ব্যবহারকারী প্রতি প্রকল্প: এটি আপনার ক্লাউড প্রকল্পে যেকোনো একটি নির্দিষ্ট ব্যবহারকারীর দ্বারা করা অনুরোধের সংখ্যা। এই সীমার লক্ষ্য হল আপনার ব্যবহারকারীদের মধ্যে ব্যবহারের সুষ্ঠু বন্টন নিশ্চিত করা।
একটি স্লাইডিং উইন্ডো ব্যবহার করে প্রতি মিনিটে কোটা গণনা করা হয়, তাই এক মিনিটের মধ্যে আপনার প্রতি মিনিটের কোটা অতিক্রম করে দ্রুত ট্র্যাফিকের ফলে পরবর্তী উইন্ডোতে হার সীমিত হবে যাতে আপনার ব্যবহার গড়ে কোটার মধ্যেই থাকে।
যদি কোটা অতিক্রম করে, তাহলে আপনার রেটিং সীমিত হবে এবং আপনার প্রশ্নের জন্য একটি 403 usageLimits স্ট্যাটাস কোড অথবা একটি 429 usageLimits স্ট্যাটাস কোড পাবেন। যদি এটি ঘটে, তাহলে আপনি যা করতে পারেন তা এখানে:
- নিশ্চিত করুন যে আপনি সমস্ত সেরা অনুশীলন অনুসরণ করছেন: সূচকীয় ব্যাকঅফ ব্যবহার করুন , ট্র্যাফিক প্যাটার্ন এলোমেলো করুন , পুশ বিজ্ঞপ্তি ব্যবহার করুন ।
- যদি আপনার প্রকল্পটি ক্রমবর্ধমান হয় এবং আপনার ব্যবহারকারীর সংখ্যা বেশি হয়, তাহলে আপনি প্রতি প্রকল্পের কোটা বৃদ্ধির অনুরোধ করতে পারেন।
- যদি প্রতি ব্যবহারকারীর কোটার সীমা অতিক্রম করে, তাহলে আপনি নিম্নলিখিতগুলি করতে পারেন:
- যদি আপনি একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করেন, তাহলে ব্যবহারকারীদের মধ্যে লোড বরাদ্দ করুন অথবা একাধিক পরিষেবা অ্যাকাউন্টের মধ্যে ভাগ করুন।
- যদিও আপনি প্রতি-ব্যবহারকারী কোটা বৃদ্ধির অনুরোধ করতে পারেন, সাধারণভাবে এটি ডিফল্ট মানের উপরে বাড়ানোর পরামর্শ দেওয়া হয় না কারণ আপনার অ্যাপ্লিকেশনটি অন্যান্য ধরণের সীমাতে পৌঁছাতে শুরু করতে পারে, উদাহরণস্বরূপ সাধারণ ক্যালেন্ডার ব্যবহারের সীমা , বা কার্যক্ষম সীমা।
কোটা বৃদ্ধির অনুরোধ
আপনার প্রকল্পের ব্যবহারের সীমা দেখতে বা পরিবর্তন করতে, অথবা আপনার কোটা বৃদ্ধির অনুরোধ করতে, নিম্নলিখিতগুলি করুন:
- যদি আপনার প্রকল্পের জন্য ইতিমধ্যেই কোনও বিলিং অ্যাকাউন্ট না থাকে, তাহলে একটি তৈরি করুন।
- API কনসোলে API লাইব্রেরির Enabled APIs পৃষ্ঠাটি দেখুন এবং তালিকা থেকে একটি API নির্বাচন করুন।
- কোটা-সম্পর্কিত সেটিংস দেখতে এবং পরিবর্তন করতে, কোটা নির্বাচন করুন। ব্যবহারের পরিসংখ্যান দেখতে, ব্যবহার নির্বাচন করুন।
সূচকীয় ব্যাকঅফ ব্যবহার করুন
যখন আমরা চাই যে আপনি আপনার অনুরোধের হার কমিয়ে দিন, তখন আমরা একটি 403 "usageLimits" প্রতিক্রিয়া অথবা একটি 429 প্রতিক্রিয়া দেব ( সম্পূর্ণ ত্রুটি ডকুমেন্টেশন দেখুন)। এটি কোনও মারাত্মক ত্রুটি নয় এবং আমরা আশা করি আপনি অল্প সময়ের পরে অনুরোধটি পুনরায় চেষ্টা করবেন। যদি অনুরোধগুলি এখনও খুব দ্রুত আসে, তাহলে আমরা আবার জিজ্ঞাসা করব, ইত্যাদি। এটি সঠিকভাবে কাজ করার জন্য, সময়ের সাথে সাথে অনুরোধগুলির মধ্যে বিলম্ব বৃদ্ধি করা গুরুত্বপূর্ণ।
সাধারণত, আপনার truncated exponential backoff ব্যবহার করা উচিত; ক্লাউড স্টোরেজ ডকুমেন্টেশনে এটি কীভাবে কাজ করে এবং পছন্দের অ্যালগরিদম সম্পর্কে ভাল ব্যাখ্যা রয়েছে। আপনি যদি একটি Google ক্লায়েন্ট লাইব্রেরি ব্যবহার করেন, তাহলে এটি সাধারণত আপনার জন্য পরিচালিত হবে; আপনার লাইব্রেরি ডকুমেন্টেশন দেখুন। সাধারণত, আপনার নিজের লেখার পরিবর্তে লাইব্রেরি বাস্তবায়ন ব্যবহার করা উচিত।
ট্র্যাফিক প্যাটার্ন এলোমেলো করুন
একাধিক ক্লায়েন্ট একই সময়ে কাজ করার ফলে ক্যালেন্ডার ক্লায়েন্টদের ট্র্যাফিকের স্পাইক প্যাটার্নের ঝুঁকি থাকে। উদাহরণস্বরূপ, একটি ক্যালেন্ডার ক্লায়েন্টের জন্য একটি সাধারণ খারাপ অভ্যাস হল মধ্যরাতে সম্পূর্ণ সিঙ্ক করা। এটি প্রায় নিশ্চিতভাবেই আপনার প্রতি মিনিটের কোটা অতিক্রম করবে এবং এর ফলে রেট সীমাবদ্ধতা এবং ব্যাকঅফ হবে।
এটি এড়াতে, নিশ্চিত করুন যে আপনার ট্র্যাফিকটি যেখানেই সম্ভব সারা দিন জুড়ে ছড়িয়ে আছে। যদি আপনার ক্লায়েন্টকে প্রতিদিন সিঙ্ক করার প্রয়োজন হয়, তাহলে ক্লায়েন্টকে একটি এলোমেলো সময় নির্ধারণ করতে বলুন (প্রতিটি ক্লায়েন্টের জন্য আলাদা)। যদি আপনার নিয়মিতভাবে কোনও অপারেশন করার প্রয়োজন হয়, তাহলে ব্যবধানটি +/- 25% পরিবর্তন করুন। এটি ট্র্যাফিককে আরও সমানভাবে বিতরণ করবে এবং অনেক ভালো ব্যবহারকারীর অভিজ্ঞতা প্রদান করবে।
পুশ নোটিফিকেশন ব্যবহার করুন
একটি সাধারণ ব্যবহারের ক্ষেত্রে হল ব্যবহারকারীর ক্যালেন্ডারে কিছু পরিবর্তন হলেই কোনও কাজ করতে চাওয়া। এখানে একটি অ্যান্টি-প্যাটার্ন হল আগ্রহের প্রতিটি ক্যালেন্ডার বারবার পোল করা। এটি খুব দ্রুত আপনার সমস্ত কোটা ব্যবহার করবে—উদাহরণস্বরূপ, যদি আপনার অ্যাপ্লিকেশনে ৫,০০০ জন ব্যবহারকারী থাকে এবং প্রতি মিনিটে একবার প্রতিটি ব্যবহারকারীর ক্যালেন্ডার পোল করে, তাহলে কোনও কাজ শেষ হওয়ার আগেও প্রতি মিনিটে কমপক্ষে ৫,০০০ কোটা প্রয়োজন হবে।
সার্ভার-সাইড অ্যাপ্লিকেশনগুলি পুশ নোটিফিকেশনের জন্য নিবন্ধন করতে পারে, যা আমাদের আগ্রহের কিছু ঘটলে আপনাকে অবহিত করার সুযোগ দেয়। এগুলি সেট আপ করতে আরও কাজ করতে হয়, তবে আপনার কোটার নাটকীয়ভাবে আরও দক্ষ ব্যবহারের অনুমতি দেয় এবং আরও ভাল ব্যবহারকারীর অভিজ্ঞতা প্রদান করে। আপনি যে eventType জন্য বিজ্ঞপ্তি পেতে চান তা নির্দিষ্ট করে নিশ্চিত করুন। আরও তথ্যের জন্য, পুশ নোটিফিকেশন দেখুন।
পরিষেবা অ্যাকাউন্টের সাথে সঠিক অ্যাকাউন্টিং
যদি আপনার অ্যাপ্লিকেশনটি ডোমেন-ওয়াইড ডেলিগেশন ব্যবহার করে অনুরোধগুলি সম্পাদন করে, তাহলে ডিফল্টরূপে পরিষেবা অ্যাকাউন্টটি "প্রতি মিনিট প্রতি প্রকল্প প্রতি ব্যবহারকারী" কোটা অনুসারে চার্জ করা হবে, আপনি যে ব্যবহারকারীর ছদ্মবেশ ধারণ করছেন তার থেকে নয়। এর অর্থ হল পরিষেবা অ্যাকাউন্টটি সম্ভবত কোটা শেষ হয়ে যাবে এবং হার-সীমাবদ্ধ হবে, যদিও এটি একাধিক ব্যবহারকারীর ক্যালেন্ডারে কাজ করছে। কোন ব্যবহারকারীর কাছ থেকে চার্জ নেওয়া হবে তা নির্দেশ করার জন্য আপনি quotaUser URL প্যারামিটার (অথবা x-goog-quota-user HTTP হেডার) ব্যবহার করে এটি এড়াতে পারেন। এটি শুধুমাত্র কোটা গণনার জন্য ব্যবহৃত হয়। আরও তথ্যের জন্য ক্লাউড ডকুমেন্টেশনে ব্যবহারকারী প্রতি অনুরোধ সীমিত করা দেখুন।
পরীক্ষার কোটা সীমা পরিচালনা
আপনার অ্যাপ্লিকেশনটি যাতে বাস্তবে কোটা সীমায় পৌঁছানোর ক্ষেত্রে সুন্দরভাবে কাজ করতে পারে (যেমন এক্সপোনেনশিয়াল ব্যাকঅফ দিয়ে পুনরায় চেষ্টা করে ) এবং আপনার ব্যবহারকারীদের সম্ভাব্য ঝামেলা কমাতে আমরা দৃঢ়ভাবে এই পরিস্থিতিটি বাস্তব পরিবেশে পরীক্ষা করার পরামর্শ দিচ্ছি।
এই ধরণের পরীক্ষা যাতে আপনার প্রকৃত অ্যাপ্লিকেশন ব্যবহারে হস্তক্ষেপ না করে, আমরা আপনাকে Google API কনসোলে একটি পৃথক পরীক্ষা-কেবল প্রকল্প নিবন্ধন করার এবং এটিকে আপনার উৎপাদন প্রকল্পের অনুরূপভাবে কনফিগার করার পরামর্শ দিচ্ছি। এরপর আপনি এই প্রকল্পের জন্য কৃত্রিমভাবে কম কোটা সেট করতে পারেন এবং আপনার অ্যাপ্লিকেশনের আচরণ পর্যবেক্ষণ করতে পারেন।
মূল্য নির্ধারণ
গুগল ক্যালেন্ডার এপিআই-এর সমস্ত ব্যবহার কোনও অতিরিক্ত খরচ ছাড়াই উপলব্ধ। কোটা অনুরোধের সীমা অতিক্রম করলে অতিরিক্ত চার্জ প্রযোজ্য হবে না এবং আপনার অ্যাকাউন্টে বিল করা হবে না।