العودة إلى المدونة

كيف يحتسب PubSub الأحداث وماذا يعني ذلك لفاتورتك

/قراءة دقيقتين

من السهل إساءة قراءة تسعير البثّ الفوري. الخطة التي تعلن عن "مليون رسالة" لا تعني عادةً مليون استدعاء لـ trigger(). يستخدم PubSub النموذج نفسه الذي يتبعه Pusher، ويستحق الفهم قبل اختيار خطتك.

القاعدة

كل حدث يكلّف وحدة واحدة عن كل اتصال يصله، وبحدّ أدنى وحدة واحدة.

هذه هي القاعدة كاملة. يُحتسب النشر بعدد العملاء المتصلين الذين استقبلوه فعلاً، لا بعدد مرات استدعاء خادمك للواجهة.

أمثلة عملية

ما يحدث الأحداث المحتسبة
نشر على قناة بها 1,000 مشترك 1,000
نشر على قناة لا أحد يستمع إليها 1
نشر على 3 قنوات، 10 مشتركين لكل منها 30
متصفح يرسل حدث عميل ويستقبله 5 آخرون 5

الحدّ الأدنى مهم: فهو يعني ألّا يكون الحدث مجانياً لمجرّد عدم وجود مستمعين، ما يُبقي الاحتساب نزيهاً.

كيف تُترجَم رسائل واتساب إلى أحداث

رسالة واتساب ليست حدثاً واحداً. إرسال رسالة إلى عميل يُنتج عادةً أربعة:

  1. message.new — ظهور الرسالة في الصندوق
  2. message.status — أُرسلت
  3. message.status — سُلّمت
  4. message.status — قُرئت

أما الرسالة الواردة من العميل فتُنتج حدثاً واحداً، إذ لا إشعارات تسليم للرسائل الواردة.

لذا فإن التقدير التقريبي هو أربعة أحداث لكل رسالة واتساب صادرة. وخطة بأربعين ألف حدث تكفي لنحو عشرة آلاف رسالة صادرة، أو أكثر بكثير إذا كانت حركتك واردة في معظمها.

وإذا ارتبطت المحادثة بأكثر من قناة — مثل واجهة الموظف ولوحة المشرف — فإن كل تسليم يُحتسب، فيرتفع المضاعف تبعاً لذلك.

ما الذي لا يُحتسب

  • الاتصال والاشتراك. فتح اتصال WebSocket والانضمام إلى القنوات مجاني.
  • حركة البروتوكول. رسائل النبض وتأكيدات الاشتراك ليست أحداثاً.
  • القراءة عبر HTTP. جلب المحادثات والرسائل عبر الواجهة يخضع لحدّ معدّل الطلبات لا لحصّة الأحداث.

متابعة استهلاكك

تعرض لوحة التحكّم إجمالي الشهر الحالي مقارنةً بخطتك، موزّعاً على تطبيقاتك، مع تنبيهات عند 80% و100%. وتُصفَّر الحصص مع بداية كل شهر بتوقيت UTC.

وإذا تجاوزت الحدّ، يُمنع النشر بدل أن تُحتسب عليك الزيادة بصمت — فتكون كلفة الحلقة المنفلتة خطأً في سجلّك لا فاتورة مفاجئة.

/// اقرأ أيضاً

شريك رسمي معتمد لواتساب للأعمال من Metaموثّقوصول معتمد إلى الواجهة البرمجية