ব্যবহারের সীমা

যেহেতু গুগল চ্যাট এপিআই একটি শেয়ার্ড সার্ভিস, তাই সকল ব্যবহারকারী যেন এটি ন্যায্যভাবে ব্যবহার করে এবং গুগল ওয়ার্কস্পেসের সার্বিক পারফরম্যান্স সুরক্ষিত থাকে, তা নিশ্চিত করতে আমরা কোটা ও সীমাবদ্ধতা প্রয়োগ করি।

আপনি কোটা অতিক্রম করলে, আপনি একটি 429: Too many requests HTTP স্ট্যাটাস কোড রেসপন্স পাবেন। চ্যাট ব্যাকএন্ডে অতিরিক্ত রেট লিমিট চেকের কারণেও একই এরর রেসপন্স তৈরি হতে পারে। এই এররটি ঘটলে, আপনার একটি এক্সপোনেনশিয়াল ব্যাকঅফ অ্যালগরিদম ব্যবহার করে পরে আবার চেষ্টা করা উচিত। যতক্ষণ আপনি নিম্নলিখিত সারণিতে তালিকাভুক্ত প্রতি-মিনিটের কোটার মধ্যে থাকবেন, ততক্ষণ আপনি প্রতিদিন যত খুশি রিকোয়েস্ট করতে পারবেন, তার কোনো সীমা নেই।

চ্যাট এপিআই মেথডগুলোর ক্ষেত্রে একাধিক ধরনের কোটা প্রযোজ্য হতে পারে: প্রজেক্ট-ভিত্তিক, স্পেস-ভিত্তিক এবং ব্যবহারকারী-ভিত্তিক কোটা।

প্রকল্প-ভিত্তিক কোটা

প্রকল্প-ভিত্তিক কোটা একটি গুগল ক্লাউড প্রকল্পের জন্য কোয়েরির হার সীমিত করে, এবং এই কারণে তা প্রতিটি কোটার জন্য নির্দিষ্ট চ্যাট এপিআই মেথড কলকারী একটিমাত্র চ্যাট অ্যাপের ক্ষেত্রে প্রযোজ্য হয়।

নিম্নলিখিত সারণীতে প্রকল্প-ভিত্তিক কোয়েরি সীমার বিবরণ দেওয়া হয়েছে। আপনি কোটা পৃষ্ঠাতেও এই সীমাগুলো খুঁজে পেতে পারেন।

প্রকল্প-ভিত্তিক কোটা

চ্যাট এপিআই পদ্ধতি

সীমা (প্রতি ৬০ সেকেন্ডে)

প্রতি মিনিটে বার্তা লেখা হয়

spaces.messages.create

spaces.messages.patch

spaces.messages.delete

৩০০০

প্রতি মিনিটে বার্তা পড়া

spaces.messages.get

spaces.messages.list

৩০০০

সদস্যপদ প্রতি মিনিটে লেখে

spaces.members.create

spaces.members.delete

৩০০

সদস্যপদ প্রতি মিনিটে পঠন

spaces.members.get

spaces.members.list

৩০০০

প্রতি মিনিটে লেখার স্থান

spaces.setup

spaces.create

spaces.patch

spaces.delete

৬০

প্রতি মিনিটে স্পেস রিড

spaces.get

spaces.list

spaces.findDirectMessage

৩০০০

সংযুক্তি প্রতি মিনিটে লেখে

media.upload

৬০০

প্রতি মিনিটে সংযুক্তি পঠন

spaces.messages.attachments.get

media.download

৩০০০

প্রতি মিনিটে প্রতিক্রিয়া লেখা হয়

spaces.messages.reactions.create

spaces.messages.reactions.delete

৬০০

প্রতি মিনিটে প্রতিক্রিয়া পাঠ

spaces.messages.reactions.list

৩০০০

কাস্টম ইমোজি প্রতি মিনিটে লেখে

customEmojis.create

customEmojis.delete

৬০০

কাস্টম ইমোজি প্রতি মিনিটে পড়া

customEmojis.get

customEmojis.list

৩০০০

বিভাগ প্রতি মিনিটে লেখে

users.sections.create

users.sections.delete

users.sections.patch

users.sections.position

users.sections.items.move

৬০০

প্রতি মিনিটে বিভাগ পাঠ

users.sections.list

users.sections.items.list

৩০০০

প্রতি-স্থান কোটা

প্রতি-স্পেস কোটা একটি নির্দিষ্ট স্পেসে কোয়েরির হার সীমিত করে এবং প্রতিটি কোটার জন্য তালিকাভুক্ত চ্যাট এপিআই মেথডগুলো কল করে এমন সেই স্পেসের সমস্ত চ্যাট অ্যাপের মধ্যে এই কোটা ভাগ করা থাকে।

নিম্নলিখিত সারণীতে প্রতি-স্পেস কোয়েরি সীমা বিস্তারিতভাবে বর্ণনা করা হয়েছে:

প্রতি-স্থান কোটা

চ্যাট এপিআই পদ্ধতি

সীমা (প্রতি সেকেন্ডে)

প্রতি সেকেন্ডে পঠন

media.download

spaces.get

spaces.members.get

spaces.members.list

spaces.messages.get

spaces.messages.list

spaces.messages.attachments.get

spaces.messages.reactions.list

১৫

প্রতি সেকেন্ডে লেখে

media.upload

spaces.delete

spaces.patch

spaces.messages.create ( আগত ওয়েবহুকগুলির ক্ষেত্রে অতিরিক্ত সীমাবদ্ধতা প্রযোজ্য)

spaces.messages.delete

spaces.messages.patch

spaces.messages.reactions.delete

Create Reaction প্রতি সেকেন্ডে লেখে

spaces.messages.reactions.create

গুগল চ্যাটে ডেটা ইম্পোর্ট করার সময় প্রতি সেকেন্ডে লেখা মেসেজ

spaces.messages.create

১০

ব্যবহারকারী প্রতি কোটা

ব্যবহারকারী-ভিত্তিক কোটা একজন গুগল চ্যাট ব্যবহারকারীর জন্য কোয়েরির হার সীমিত করে। এই কোয়েরিগুলো সেই সমস্ত চ্যাট অ্যাপের ক্ষেত্রে প্রযোজ্য, যেগুলো কোনো ব্যবহারকারীর পক্ষ থেকে ( ব্যবহারকারী প্রমাণীকরণ ব্যবহার করে) একটি চ্যাট এপিআই মেথড কল করে।

নিম্নলিখিত সারণীতে ব্যবহারকারী-ভিত্তিক কোয়েরি সীমার বিবরণ দেওয়া হয়েছে:

প্রতি-ব্যবহারকারী কোটা

চ্যাট এপিআই পদ্ধতি

সীমা (প্রতি সেকেন্ডে)

কাস্টম ইমোজি প্রতি সেকেন্ডে লেখে

customEmojis.create

customEmojis.delete

কাস্টম ইমোজি প্রতি সেকেন্ডে পড়া

customEmojis.get

customEmojis.list

১৫

বিভাগ প্রতি সেকেন্ডে লেখে

users.sections.create

users.sections.delete

users.sections.patch

users.sections.position

users.sections.items.move

প্রতি সেকেন্ডে বিভাগ পঠন

users.sections.list

users.sections.items.list

১৫

অতিরিক্ত ব্যবহারের সীমা

একই স্পেসকে লক্ষ্য করে উচ্চ এপিআই ট্র্যাফিক অতিরিক্ত অভ্যন্তরীণ সীমা সক্রিয় করতে পারে, যা কোটা পৃষ্ঠায় দেখা যায় না।

সময়-ভিত্তিক কোটা ত্রুটি সমাধান করুন

সমস্ত সময়-ভিত্তিক ত্রুটির (প্রতি X মিনিটে সর্বোচ্চ N সংখ্যক অনুরোধ) ক্ষেত্রে, আমরা সুপারিশ করি যে আপনার কোড যেন এক্সেপশনটি ক্যাচ করে এবং একটি ট্রাঙ্কেটেড এক্সপোনেনশিয়াল ব্যাকঅফ ব্যবহার করে, যাতে আপনার ডিভাইসগুলো অতিরিক্ত লোড তৈরি না করে।

এক্সপোনেনশিয়াল ব্যাকঅফ হলো নেটওয়ার্ক অ্যাপ্লিকেশনগুলির জন্য একটি আদর্শ ত্রুটি পরিচালনা কৌশল। একটি এক্সপোনেনশিয়াল ব্যাকঅফ অ্যালগরিদম একটি সর্বোচ্চ ব্যাকঅফ সময় পর্যন্ত, অনুরোধগুলির মধ্যে সূচকীয়ভাবে ক্রমবর্ধমান অপেক্ষার সময় ব্যবহার করে অনুরোধগুলি পুনরায় চেষ্টা করে। যদি অনুরোধগুলি তখনও অসফল হয়, তবে অনুরোধটি সফল না হওয়া পর্যন্ত সময়ের সাথে সাথে অনুরোধগুলির মধ্যে বিলম্ব বাড়ানো গুরুত্বপূর্ণ।

উদাহরণ অ্যালগরিদম

একটি এক্সপোনেনশিয়াল ব্যাকঅফ অ্যালগরিদম অনুরোধগুলোকে সূচকীয় হারে পুনরায় চেষ্টা করে, এবং একটি সর্বোচ্চ ব্যাকঅফ সময় পর্যন্ত পুনরায় চেষ্টার মধ্যবর্তী অপেক্ষার সময় বাড়িয়ে দেয়। উদাহরণস্বরূপ:

  1. গুগল চ্যাট এপিআই-তে একটি অনুরোধ পাঠান।
  2. অনুরোধটি ব্যর্থ হলে, 1 + random_number_milliseconds অপেক্ষা করুন এবং অনুরোধটি পুনরায় চেষ্টা করুন।
  3. অনুরোধটি ব্যর্থ হলে, 2 + random_number_milliseconds অপেক্ষা করুন এবং অনুরোধটি পুনরায় চেষ্টা করুন।
  4. অনুরোধটি ব্যর্থ হলে, 4 + random_number_milliseconds অপেক্ষা করুন এবং অনুরোধটি পুনরায় চেষ্টা করুন।
  5. এবং এভাবেই চলতে থাকে, একটি maximum_backoff সময় পর্যন্ত।
  6. একটি নির্দিষ্ট সর্বোচ্চ সংখ্যক বার পর্যন্ত অপেক্ষা করতে ও পুনরায় চেষ্টা করতে থাকুন, কিন্তু দুটি চেষ্টার মধ্যবর্তী অপেক্ষার সময়কাল বাড়াবেন না।

যেখানে:

  • অপেক্ষার সময় হলো min(((2^n)+random_number_milliseconds), maximum_backoff) , যেখানে প্রতিটি ইটারেশন (অনুরোধ)-এর জন্য n মান ১ করে বৃদ্ধি পায়।
  • random_number_milliseconds হলো ১,০০০ বা তার কম মিলিসেকেন্ডের একটি র‍্যান্ডম সংখ্যা। এটি এমন পরিস্থিতি এড়াতে সাহায্য করে যেখানে অনেক ক্লায়েন্ট কোনো একটি কারণে সিনক্রোনাইজড হয়ে যায় এবং সবাই একযোগে পুনরায় চেষ্টা করে, অর্থাৎ সিনক্রোনাস তরঙ্গে অনুরোধ পাঠায়। প্রতিটি পুনঃপ্রচেষ্টার অনুরোধের পর random_number_milliseconds এর মান পুনরায় গণনা করা হয়।
  • maximum_backoff সাধারণত ৩২ বা ৬৪ সেকেন্ড হয়ে থাকে। এর উপযুক্ত মান ব্যবহারের ধরনের ওপর নির্ভর করে।

The client can continue retrying after it has reached the maximum_backoff time. Retries after this point don't need to continue increasing backoff time. For example, if a client uses a maximum_backoff time of 64 seconds, then after reaching this value, the client can retry every 64 seconds. At some point, clients should be prevented from retrying indefinitely.

পুনরায় চেষ্টার মধ্যবর্তী অপেক্ষার সময় এবং পুনরায় চেষ্টার সংখ্যা আপনার ব্যবহারের ধরণ এবং নেটওয়ার্ক অবস্থার উপর নির্ভর করে।

প্রকল্প-ভিত্তিক কোটা বৃদ্ধির জন্য অনুরোধ করুন

আপনার প্রকল্পের রিসোর্স ব্যবহারের উপর নির্ভর করে, আপনি কোটা সমন্বয়ের জন্য অনুরোধ করতে চাইতে পারেন। একটি সার্ভিস অ্যাকাউন্ট দ্বারা করা এপিআই কলগুলোকে একটি একক অ্যাকাউন্ট হিসেবে বিবেচনা করা হয়। সমন্বয়কৃত কোটার জন্য আবেদন করলেই যে তা অনুমোদিত হবে, এমন কোনো নিশ্চয়তা নেই। যে কোটা সমন্বয়ের অনুরোধগুলো কোটার পরিমাণ উল্লেখযোগ্যভাবে বৃদ্ধি করবে, সেগুলো অনুমোদিত হতে বেশি সময় লাগতে পারে।

সব প্রোজেক্টের কোটা এক নয়। সময়ের সাথে সাথে আপনার গুগল ক্লাউডের ব্যবহার বাড়ার সাথে সাথে আপনার কোটার পরিমাণও বাড়ানোর প্রয়োজন হতে পারে। যদি আপনি ভবিষ্যতে ব্যবহারের উল্লেখযোগ্য বৃদ্ধি প্রত্যাশা করেন, তবে আপনি গুগল ক্লাউড কনসোলের কোটা পেজ থেকে আগে থেকেই কোটা সমন্বয়ের জন্য অনুরোধ করতে পারেন।

আরও জানতে, নিম্নলিখিত উৎসগুলো দেখুন: