WHATS CRM HUB

عن التقنية

بنية تقنية حديثة

مبني على تقنيات مصمّمة للنطاق الواسع

الأمر لا يقتصر على المزايا — المحرك خلف WhatsCRM Hub مصمّم لبثّ ملايين الرسائل، وخدمة منصّات SaaS متعددة المستأجرين بشكل حقيقي، والعمل ٢٤/٧ بلا متاعب.

أُعيدت كتابة الإصدار الأخير من WhatsCRM Hub بالكامل باستخدام Go (Golang) في الواجهة الخلفية وVue 3 + TypeScript في الواجهة الأمامية. هذا ليس قرارًا متبعًا للتوجهات، بل هو نتيجة خبرة فعلية في خدمة آلاف المستخدمين عبر إندونيسيا وماليزيا والمملكة العربية السعودية والبرازيل.

النتيجة: نشر خفيف (ملف تنفيذي واحد أقل من 20MB)، استهلاك ذاكرة منخفض، زمن استجابة منخفض حتى أثناء البث الضخم، وعزل حقيقي بين المستأجرين.

الواجهة الخلفية

الواجهة الخلفية: Go (Golang)

لغة الاختيار لفرق البنية التحتية على مستوى عالمي (Google، Cloudflare، Uber، Twitch). مبنية للتزامن (concurrency) وسهولة النشر.

Go 1.22+ و Fiber v2

إطار ويب مبني على fasthttp. قادر على معالجة عشرات الآلاف من الطلبات في الثانية لكل خادم مع استهلاك ذاكرة بسيط.

PostgreSQL 15+ و sqlc

أنضج قاعدة بيانات علائقية لـ SaaS متعدد المستأجرين. استعلامات آمنة الأنواع — لا N+1، لا حقن SQL، مرونة بدون أعباء ORM.

طابور Asynq (مبني على Redis)

مجمّع عمّال (worker pool) مع إعادة محاولة، وإزالة تكرار، ورؤية ناضجة. كل بث ومتابعة وويب-هوك يمر عبر طابور موزع يمكن مراقبته فوريًا.

WebSocket أصلي (coder/websocket)

دردشة فورية مدركة للسياق — تنظف الاتصالات تلقائيًا عند إغلاق التبويب. بدون انتفاخ Socket.IO.

JWT + تجديد الرموز

رمز وصول في الذاكرة، رمز تجديد في cookie httpOnly، حماية CSRF، تنسيق بين تبويبات عدة عبر BroadcastChannel. متوافق مع أحدث ممارسات OWASP.

zerolog + سجلات منظّمة

كل طلب يحمل request-id. سجلات جاهزة للتصدير إلى Loki / Datadog / CloudWatch بدون معالجة إضافية.

الواجهة الأمامية

الواجهة الأمامية: Vue 3 + TypeScript

تطبيق صفحة واحدة (SPA) حديث، تفاعلي، آمن الأنواع. النظام البيئي الذي اختاره GitLab وAlibaba ومئات فرق SaaS الإنتاجية.
Vue 3 Composition API

أكفأ محرك تفاعلية في فئته. مكوّنات صغيرة، سهلة الاختبار، سهلة الصيانة.

TypeScript من البداية إلى النهاية

الأخطاء تُكشف في المحرر، لا في الإنتاج. كل استجابة API لها نفس النوع كهيكل Go في الخلفية.

Vite + Pinia

أسرع أداة بناء (مئات المرات أسرع من Webpack)، إدارة حالة خفيفة وصريحة. إعادة تحميل ساخنة في أجزاء من الثانية.

PrimeVue v4 UI

مكوّنات واجهة بمستوى المؤسسات — DataTable بتمرير افتراضي، تقويم مدرك للمناطق الزمنية، AutoComplete غير متزامن. متّسق عبر الأجهزة والمتصفحات.

محرك البث

محرك بث يصمد أمام الحجوم الكبيرة

أرسل مئات الآلاف من الرسائل يوميًا دون إثقال الخادم، ودون إزعاج المستأجرين الآخرين، ودون الاصطدام بحدود Meta.
مجمّع 50 عاملًا متزامنًا

50 goroutine يعمل بالتوازي — قارن ذلك بـ PHP-FPM التي تحتاج عملية واحدة لكل طلب. مئات الآلاف من الرسائل تُعالج في دقائق، لا ساعات.

حدّ معدّل: 250 RPS لكل رقم

حدّ معدّل لكل مرسل — حماية تلقائية من حجب Meta Graph API. أنت ترسل، والنظام يضبط الإيقاع.

مضاد الحظر الناعم (تذبذب 2–5 ثواني)

لـ WhatsApp Web — تباعد عشوائي بين الرسائل لتبدو الأنماط طبيعية، مما يقلل خطر حظر رقمك من WhatsApp.

حماية Backpressure 50,000

عندما يمتلئ الطابور، يرفض النظام المهام الجديدة برشاقة — لا انهيار، لا OOM. يحصل العملاء على رسائل خطأ واضحة بدلاً من المهلات الغامضة.

متعدد القنوات بشكل أصلي

WhatsApp Web (whatsmeow)، WhatsApp Business API (Meta Graph الرسمي)، رسائل Instagram، Messenger — صندوق وارد واحد، مجمّع عمّال واحد، فاتورة واحدة.

إعادة محاولة أُسية تلقائية

فشلت رسالة؟ النظام يعيد المحاولة بتأخير ذكي. ترى فقط الرسائل التي يستحيل تسليمها فعلًا.

الأثر التجاري

ماذا يعني هذا لعملك؟

كل قرار تقني اتخذناه يعود إلى أمر واحد — لتركّز على البيع، لا على إصلاح الخوادم.
6GB
ذاكرة كافية لـ 100 ألف رسالة/يوم

حتى VPS الرخيص قادر على ذلك. لا حاجة لخوادم مؤسّسات لخدمة المستوى الصغير والمتوسط.

< 20MB
حجم الملف القابل للنشر

ملف تنفيذي واحد. لا node_modules بحجم 800MB، لا ضبط PHP-FPM، لا جحيم اعتماديات عند التثبيت على VPS جديد.

< 100ms
زمن استجابة API P99

استجابة سريعة = مستخدم سعيد = احتفاظ أفضل. لوحات المعلومات والدردشة وأدوات الزوار تشعر بأنها فورية.

عزل حقيقي بين المستأجرين

بثّ المستأجر A لملايين الرسائل لن يزعج المستأجر B. مثالي لنماذج SaaS وإعادة البيع.

مقارنة تقنية

لماذا لا نستخدم Node.js + Baileys؟

سؤال يتكرر علينا من المطورين والشركاء المحتملين. هذا هو الجواب الصريح من خبرة فعلية في بناء هذا المنتج.

Go + whatsmeow (اختيارنا)

  • تزامن أصلي — goroutines رخيصة، تستطيع الاحتفاظ بآلاف الاتصالات بـ WhatsApp Web في عملية واحدة دون تأخر.
  • نشر بملف واحد — انسخ الملف وشغّله، انتهى. مثالي للعملاء الذين يستضيفون بأنفسهم بلا فريق DevOps.
  • ذاكرة مستقرة — Go يملك جامع نفايات بزمن أقل من ميلي ثانية. لا تجمّد 200ms عند تشغيل جلسات WhatsApp كثيرة (مشكلة كلاسيكية في Node.js).
  • طابور Asynq ناضج — إعادة محاولة، إزالة تكرار، رؤية، جدولة — كلها مدمجة. لا حاجة لربطها يدويًا كما في BullMQ.
  • أمان أنواع شامل — أخطاء التطابق، حالات السباق، مؤشرات null — يكتشفها المُترجم قبل الإنتاج.
  • whatsmeow — مكتبة WhatsApp Web يستخدمها كثير من المشاريع الجادة، أكثر استقرارًا، وبروتوكول موثّق (بروتوكول Signal).

Node.js + Baileys (البديل)

  • حلقة أحداث بخيط واحد — نواة واحدة لكل عملية. للبثّ الكبير يجب تشغيل عدّة نسخ، مما يزيد التعقيد.
  • node_modules ثقيل — مئات الميغابايت من الاعتماديات، تغييرات كاسرة متكررة، تدقيق أمني أسبوعي.
  • توقف GC طويل — عند تراكم جلسات WhatsApp، قد يجمّد جامع نفايات V8 لمئات الميلي ثانية. يقول المستخدمون "أصبحت بطيئة".
  • Baileys هشّة عند التوسع — رائعة للهواية والنماذج الأولية. لكن البيئة الإنتاجية متعددة المستأجرين بمئات الأجهزة كثيرًا ما تواجه تسريب ذاكرة وعواصف إعادة اتصال.
  • PM2 + Redis + Nginx + Node — مكدّس يحتاج ضبطًا قطعة قطعة. كثير من العملاء يستسلمون في مرحلة التركيب.
  • TypeScript اختياري — كثير من المكتبات لا يزال يستخدم JS عادي، أمان الأنواع غير متّسق في شجرة الاعتماديات.

باختصار: Node.js + Baileys رائعة للتجربة، أما Go + whatsmeow فمصمّمة لتُباع لعملاء يدفعون. هذا هو الفرق — وهذا ما اخترناه.

فضولي لرؤية هذا المحرك يعمل؟

احجز عرضًا لمدة 30 دقيقة. سنعرض لك مباشرة لوحة المعلومات والبثّ الفوري والبنية الخلفية التي تعمل خلف الكواليس.