এফসিএম থ্রটলিং এবং কোটা

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

ডাউনস্ট্রিম মেসেজ থ্রটলিং

HTTP v1 API ডাউনস্ট্রিম মেসেজিংয়ের জন্য প্রতি-প্রজেক্ট, প্রতি-মিনিট কোটা চালু করেছে। প্রতি মিনিটে 600,000 বার্তার ডিফল্ট কোটা 99% এরও বেশি FCM ডেভেলপারদের কভার করে, একই সাথে সিস্টেমের স্থিতিশীলতা রক্ষা করে এবং স্পাইকি প্রকল্পগুলির প্রভাব কমিয়ে দেয়।

স্পাইকি ট্র্যাফিক প্যাটার্নের ফলে কোটা অতিক্রম করা ত্রুটি হতে পারে। কোটার বেশি লোডের ক্ষেত্রে, সিস্টেমটি পরবর্তী মিনিটে কোটা পুনরায় পূরণ না হওয়া পর্যন্ত HTTP স্ট্যাটাস কোড 429 RESOURCE_EXHAUSTED ("QUOTA_EXCEEDED") পরিবেশন করে। ওভারলোড পরিস্থিতিতে 429 টি প্রতিক্রিয়াও ফেরত পাঠানো যেতে পারে, তাই প্রকাশিত সুপারিশ অনুসারে আপনাকে 429 টি প্রতিক্রিয়া পরিচালনা করার জন্য জোরালোভাবে উৎসাহিত করা হচ্ছে।

মনে রাখবেন:

  • ডাউনস্ট্রিম কোটা বার্তা পরিমাপ করে, অনুরোধ নয়।
  • ক্লায়েন্ট ত্রুটি (HTTP স্ট্যাটাস কোড 400-499) গণনা করা হয় (429 বাদে)।
  • কোটা প্রতি মিনিটে, কিন্তু এই মিনিটগুলি ঘড়ির সাথে সারিবদ্ধ নয়।

পর্যবেক্ষণ কোটা

আপনি নিম্নলিখিতগুলি ব্যবহার করে গুগল ক্লাউড কনসোলে কোটা, ব্যবহার এবং ত্রুটিগুলি দেখতে পারেন:

  1. Google Cloud কনসোলে যান।
  2. API এবং পরিষেবা নির্বাচন করুন।
  3. টেবিল তালিকা থেকে, Firebase Cloud Messaging API নির্বাচন করুন।
  4. কোটা এবং সিস্টেম সীমা নির্বাচন করুন।

কোটা বৃদ্ধির অনুরোধ করুন

কোটা বৃদ্ধির অনুরোধ করার আগে, নিশ্চিত করুন যে:

  • প্রতিদিন কমপক্ষে টানা ৫ মিনিট ধরে আপনার নিয়মিত ব্যবহারের পরিমাণ কোটার ≥ ৮০%।
  • আপনার ক্লায়েন্ট ত্রুটি অনুপাত < 5%, বিশেষ করে সর্বোচ্চ ট্র্যাফিকের সময়।
  • আপনি স্কেলে বার্তা পাঠানোর জন্য সর্বোত্তম অনুশীলনগুলি মেনে চলেন।

যদি আপনি এই মানদণ্ডগুলি পূরণ করেন, তাহলে আপনি +২৫% পর্যন্ত কোটা বৃদ্ধির অনুরোধ জমা দিতে পারেন এবং FCM অনুরোধটি পূরণের জন্য সর্বাত্মক প্রচেষ্টা করবে (কোনও বৃদ্ধির নিশ্চয়তা দেওয়া যাবে না)।

যদি আপনার আসন্ন লঞ্চ বা অস্থায়ী ইভেন্টের কারণে আরও ডাউনস্ট্রিম মেসেজিং কোটার প্রয়োজন হয়, তাহলে অনুরোধটি পরিচালনা করার জন্য পর্যাপ্ত সময় দেওয়ার জন্য কমপক্ষে 15 দিন আগে আপনার কোটার জন্য অনুরোধ করুন। বড় অনুরোধের জন্য (> প্রতি মিনিটে 18 মিলিয়ন বার্তা), কমপক্ষে 30 দিনের নোটিশ প্রয়োজন। লঞ্চ এবং বিশেষ ইভেন্টের অনুরোধগুলি এখনও ক্লায়েন্ট ত্রুটি অনুপাত এবং সর্বোত্তম অনুশীলনের প্রয়োজনীয়তার সাপেক্ষে।

আরও জানতে, FCM কোটা দেখুন।

বিষয় বার্তার সীমা এবং ফ্যানআউট থ্রটলিং

আরও বিস্তারিত জানার জন্য বিষয় বার্তার কোটা এবং সীমা দেখুন।

কলাপসিবল মেসেজ থ্রটলিং

Collapsible messages -এ বর্ণিত হিসাবে, Collapsible messages হল কন্টেন্ট-মুক্ত বিজ্ঞপ্তি যা একে অপরের উপরে collapse করার জন্য ডিজাইন করা হয়েছে। যদি কোনও ডেভেলপার একই বার্তাটি খুব ঘন ঘন কোনও অ্যাপে পুনরাবৃত্তি করে, তাহলে ব্যবহারকারীর ব্যাটারির উপর প্রভাব কমাতে আমরা বার্তাগুলি বিলম্বিত করি।

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

যদি আপনার ব্যবহারের ক্ষেত্রে উচ্চ বার্স্ট সেন্ড প্যাটার্নের প্রয়োজন হয়, তাহলে নন-ক্ল্যাপসিবল মেসেজ সঠিক পছন্দ হতে পারে। এই ধরনের মেসেজের ক্ষেত্রে, ব্যাটারির খরচ কমাতে এই ধরনের মেসেজের কন্টেন্ট অন্তর্ভুক্ত করতে ভুলবেন না।

আমরা প্রতি ডিভাইসে প্রতিটি অ্যাপের জন্য ২০টি করে ফোলা বার্তা পাঠানোর সীমাবদ্ধতা রাখি, প্রতি ৩ মিনিটে ১টি করে বার্তা রিফিল করার সাথে।

একটি একক ডিভাইসে সর্বোচ্চ বার্তার হার

অ্যান্ড্রয়েডের জন্য, আপনি একটি ডিভাইসে প্রতি মিনিটে ২৪০টি এবং প্রতি ঘন্টায় ৫,০০০টি বার্তা পাঠাতে পারবেন। এই উচ্চ থ্রেশহোল্ডটি স্বল্পমেয়াদী ট্র্যাফিকের বিস্ফোরণের অনুমতি দেওয়ার জন্য তৈরি করা হয়েছে, যেমন ব্যবহারকারীরা চ্যাটের মাধ্যমে দ্রুত যোগাযোগ করলে। এই সীমা লজিক পাঠানোর সময় ত্রুটিগুলিকে অসাবধানতাবশত কোনও ডিভাইসের ব্যাটারি নিষ্কাশন থেকে রোধ করে।

iOS এর ক্ষেত্রে, যখন হার APN সীমা অতিক্রম করে তখন আমরা একটি ত্রুটি ফেরত দিই।