شعار Centrifugo

التطوير

Centrifugo

Centrifugo — الزمن الحقيقي على خادمك: WebSocket وواجهة نشر ورموز JWT ولوحة إدارة محمية بكلمة مرور، دون خدمة خارجية.

حول Centrifugo

Centrifugo خادم مراسلة فورية مفتوح المصدر (رخصة Apache-2.0) مكتوب بلغة Go. يتولى أصعب جزء في الزمن الحقيقي: إبقاء آلاف اتصالات WebSocket مفتوحة، وإيصال الرسائل المعنية إلى كل اتصال. يبقى تطبيقك بلغة PHP أو Python أو Node.js أو Go أو Ruby، ولا يحتاج إلا إلى طلب HTTP واحد للنشر.

المبدأ بسيط. يوقّع الخادم الخلفي لتطبيقك رمز JWT لكل مستخدم، ويستعمله المتصفح أو تطبيق الجوال لفتح اتصال على `wss://your-domain/connection/websocket`. عند وقوع حدث — طلب مدفوع، رسالة دردشة، تنبيه — يستدعي الخادم الخلفي واجهة `/api/publish` بمفتاحه، فيدفع Centrifugo الرسالة إلى جميع مشتركي القناة. إنه بديل مستضاف ذاتيًا لـ Pusher أو Ably أو PubNub، دون فوترة لكل رسالة.

ما يُثبَّت

جاهز عند تشغيل الخادم

أنظمة التشغيل المتوافقة
توزيعات Linux حسب اختيارك
التطبيق
Centrifugo
المنظومة التقنية
DockerGoCentrifugo
الحد الأدنى من RAM
1 غيغابايت على الأقل
الحد الأدنى من CPU
1 vCPU
المنفذ الافتراضي
8113
الوصول
root عبر SSH

الميزات الرئيسية

  • اتصالات فورية — WebSocket، مع حزم رسمية للعملاء بلغات JavaScript وDart/Flutter وSwift وJava/Android وGo وPython.
  • واجهة نشر — يكفي طلب HTTP واحد مع الترويسة X-API-Key لإرسال رسالة إلى قناة، من أي لغة.
  • مصادقة بالرموز — يوقّع خادمك الخلفي رموز JWT ‏(HS256)، ويُرفض كل اتصال بلا رمز صالح.
  • قنوات واشتراكات من جهة الخادم — يمكن أن يحمل رمز المستخدم قائمة قنواته، دون شيفرة إضافية لدى العميل.
  • لوحة إدارة — حالة العقدة وعدد العملاء المتصلين وإرسال أوامر الواجهة من المتصفح، محمية بكلمة مرور.
  • خفيف — ملف Go تنفيذي واحد، وبضع عشرات من الميغابايت من الذاكرة في وضع الخمول.

متى تستخدم هذا الحل؟

إشعارات مباشرة

أخبر العميل فور دفع طلبه أو وصول رد على تذكرته، دون أن يعيد تحميل الصفحة.

دردشة وتعليقات فورية

أضف مراسلة أو تعليقات فورية إلى تطبيقك على الويب أو الجوال، ويحتفظ خادمك الخلفي بالمنطق وقاعدة البيانات.

لوحات متابعة تتحدث تلقائيًا

ادفع العدادات وحالات التوصيل أو الأسعار إلى الشاشات المفتوحة بدل الاستعلام عنها كل ثانية.

الدليل

نشر Centrifugo على خادم VPS الخاص بك

  1. إنشاء الخادم واختيار العنوان

    اطلب خادمًا افتراضيًا بنظام Ubuntu 24.04؛ تكفي ذاكرة 1 غيغابايت للبدء. يتطلب Centrifugo نطاقًا: تتصل به المتصفحات عبر wss:// ويستدعي خادمك الخلفي واجهته عبر HTTPS، على اسم ثابت. يُفتح على نطاق فرعي من أحد نطاقاتك، أو على النطاق الفرعي المجاني للخادم (centrifugo.{dns_slug}‎.servorbit-dns.com) مع HTTPS. لا حاجة لشراء اسم نطاق.

  2. تثبيت Centrifugo من المتجر

    من مساحة العميل، اختر Centrifugo وحدد العنوان ثم انقر على «تثبيت». ينشر السكربت الحاوية الرسمية، ويولّد كلمة مرور اللوحة ومفتاح واجهة الخادم ومفتاح توقيع الرموز، ثم يضبط الوكيل العكسي nginx عبر HTTPS مع دعم WebSocket.

  3. تسجيل الدخول لأول مرة

    افتح https://your-domain: تطلب لوحة الإدارة كلمة مرور. أدخل كلمة المرور المعروضة في مساحة العميل. تعرض الصفحة الرئيسية إصدار العقدة وعدد العملاء المتصلين.

  4. استرجاع مفاتيح الخادم الخلفي

    اتصل بالخادم عبر SSH واقرأ /opt/centrifugo/.env: ‏ENCRYPTION_KEY هو مفتاح واجهة الخادم (الترويسة X-API-Key) وENCRYPTION_KEY_HEX64 هو مفتاح HMAC الذي يوقّع رموز الاتصال. احفظهما في أسرار تطبيقك، ولا تضعهما أبدًا في شيفرة تُرسل إلى المتصفح.

  5. النشر وربط العملاء

    يوقّع خادمك الخلفي رمز JWT بخوارزمية HS256 ‏(sub = معرّف المستخدم، channels = القنوات المتابَعة) ويسلّمه إلى المتصفح، الذي يتصل بحزمة centrifuge على wss://your-domain/connection/websocket. أضف أصل موقعك إلى CENTRIFUGO_CLIENT_ALLOWED_ORIGINS في /opt/centrifugo/docker-compose.yml، وأعد التشغيل بـ docker compose up -d، ثم انشر بطلب POST إلى https://your-domain/api/publish.

الأسئلة الشائعة

أسئلة حول Centrifugo

→ العودة إلى التطويركل التطبيقات
الخدمة نفسها: ينشر خادمك الخلفي، وتتلقى المتصفحات المشتركة الرسالة مباشرة. ‏Pusher وAbly خدمتان مستضافتان تُفوتران حسب عدد الاتصالات والرسائل؛ أما Centrifugo فيعمل على خادمك دون فوترة لكل رسالة، ولا تغادر بياناتك خادمك. في المقابل، تقع إدارة الخادم على عاتقك.

إضافة زر النشر

هل تدير مشروعًا يستخدم Centrifugo؟ يتيح هذا الزر لقرّائك نشره على خادم VPS بنقرة واحدة، دون قراءة وثائق Docker.

Deploy Centrifugo on ServOrbit
Markdown
[![Deploy Centrifugo on ServOrbit](https://servorbit.com/brand/deploy/button.svg)](https://servorbit.com/vps-cloud?template=centrifugo&utm_source=deploy-badge&utm_medium=referral&utm_campaign=centrifugo)
HTML
<a href="https://servorbit.com/vps-cloud?template=centrifugo&utm_source=deploy-badge&utm_medium=referral&utm_campaign=centrifugo"><img src="https://servorbit.com/brand/deploy/button.svg" alt="Deploy Centrifugo on ServOrbit" height="40"></a>

يشير الزر إلى طلب خادم ‎VPS مع تحديد القالب مسبقًا. تُقدَّم الصورة من ‎servorbit.com — لا شيء تستضيفه من جهتك.

بحاجة إلى مساعدة؟

تصفّح مركز المساعدة والأسئلة الشائعة، أو تواصل مع فريقنا — معاودة اتصال أو WhatsApp أو بريد إلكتروني.

راسلنا على WhatsAppيُفتح في علامة تبويب جديدة