دليل شامل حول Google Pub/Sub: رسائل سحابية متكاملة

Oliver Kingsley

Oliver Kingsley

1 أبريل 2026

دليل شامل حول Google Pub/Sub: رسائل سحابية متكاملة

Google Pub Sub، المعروف رسميًا باسم Google Cloud Pub/Sub، هو خدمة مراسلة مدارة بالكامل وفي الوقت الفعلي، مصممة لتمكين الاتصال غير المتزامن بين التطبيقات والخدمات المستقلة. في جوهره، يسهل Google Pub Sub فصل الأنظمة من خلال توفير نموذج نشر-اشتراك موثوق وقابل للتطوير وعالمي للبنى القائمة على الأحداث. وهذا يجعله حجر الزاوية الأساسي للتطبيقات السحابية الحديثة، حيث يدعم كلاً من استيعاب الأحداث وتوزيعها على نطاق واسع.

سواء كنت تقوم بتصميم خدمات مصغرة (microservices)، أو بناء مسارات تحليل البيانات، أو دمج أنظمة موزعة، فإن فهم Google Pub Sub أمر بالغ الأهمية لأي شخص يشارك في تطوير التطبيقات السحابية الأصلية.

زر

كيف يعمل Google Pub Sub: المفاهيم الأساسية والبنية

يعمل Google Pub Sub في أساسه على نموذج مراسلة النشر-الاشتراك (pub/sub). يسمح هذا النموذج لخدمة واحدة (الـ ناشر) بإرسال الرسائل إلى موضوع، وللخدمات الأخرى (الـ مشتركون) بتلقي تلك الرسائل بشكل غير متزامن.

المكونات الأساسية لـ Google Pub Sub

تدفق الرسائل

1. يرسل الناشر رسالة إلى موضوع.

2. يتم إرفاق اشتراك واحد أو أكثر بالموضوع.

3. يسحب المشتركون أو يتلقون (يدفعون) الرسائل من اشتراكاتهم.

4. يتم تأكيد الرسائل من قبل المشتركين لضمان التسليم مرة واحدة على الأقل.

يدعم Google Pub Sub كلاً من التسليم الدفع (push) والسحب (pull):

الموثوقية وقابلية التوسع

يضمن Google Pub Sub التسليم مرة واحدة على الأقل، ويخزن الرسائل بشكل زائد عبر مناطق متعددة. يتوسع تلقائيًا للتعامل مع ملايين الرسائل في الثانية، وهو أمر حيوي لسيناريوهات البيانات الضخمة والتحليلات وإنترنت الأشياء.

زر

الميزات الرئيسية التي تميز Google Pub Sub

1. مدار بالكامل وبدون خوادم (Serverless)

لا حاجة لإدارة الخوادم أو المجموعات أو التقسيم. يتوسع Google Pub Sub تلقائيًا، ويتعامل مع التوفر، ويضمن المتانة خلف الكواليس.

2. التوفر العالمي

مصمم للعمل عبر المناطق، مما يجعله مثاليًا للتطبيقات العالمية وسيناريوهات التعافي من الكوارث.

3. أوضاع تسليم مرنة

اختر بين خيارات التسليم بالدفع والسحب لتناسب بنيتك. يتم دعم أنماط التوزيع (واحد إلى متعدد) بشكل أصيل.

4. الأمان والامتثال

يتم تشفير جميع البيانات أثناء النقل وفي حالة السكون. يتم التحكم في الوصول عبر سياسات إدارة الهوية والوصول (IAM)، مما يضمن أن الخدمات المصرح بها فقط يمكنها التفاعل مع المواضيع والاشتراكات.

5. التسليم بالترتيب والمعالجة مرة واحدة تمامًا

يتيح ترتيب الرسائل الاختياري لكل مفتاح والتكامل مع Dataflow دلالات المعالجة مرة واحدة تمامًا لحالات الاستخدام المتقدمة.

إعداد Google Pub Sub: دليل خطوة بخطوة

دعنا ننتقل إلى عملية إعداد واستخدام Google Pub Sub في مشروع سحابي نموذجي.

1. إنشاء موضوع

gcloud pubsub topics create my-topic

2. إنشاء اشتراك

gcloud pubsub subscriptions create my-subscription --topic=my-topic

3. نشر رسالة

gcloud pubsub topics publish my-topic --message="Hello, world!"

4. سحب الرسائل

gcloud pubsub subscriptions pull my-subscription --auto-ack

بدلاً من ذلك، يمكنك استخدام مكتبات عميل Google Cloud Pub/Sub لـ Java وPython وNode.js ولغات البرمجة الأخرى لدمج Pub/Sub مع شفرتك البرمجية.

مثال: نشر واستقبال الرسائل (Python)

from google.cloud import pubsub_v1
publisher = pubsub_v1.PublisherClient()
topic_path = publisher.topic_path('your-project-id', 'my-topic')
publisher.publish(topic_path, b'Hello, Pub/Sub!')
subscriber = pubsub_v1.SubscriberClient()
subscription_path = subscriber.subscription_path('your-project-id', 'my-subscription')def callback(message):
    print(f"Received: {message.data}")
    message.ack()subscriber.subscribe(subscription_path, callback=callback)

حالات الاستخدام الواقعية لـ Google Pub Sub

1. الخدمات المصغرة الموجهة بالأحداث (Event-Driven Microservices)

غالبًا ما تحتاج الخدمات المصغرة إلى التواصل بشكل غير متزامن. يسمح Google Pub Sub للخدمات بإصدار الأحداث دون معرفة أي الأنظمة ستستهلكها، مما يقلل من الاقتران ويحسن قابلية التوسع.

2. استيعاب تحليلات وبيانات السجل

يعد دفق السجلات وأحداث التحليلات من مصادر متعددة إلى BigQuery أو Dataflow أو منصات التحليلات الأخرى سلسًا مع Pub/Sub كطبقة استيعاب.

3. تدفقات بيانات إنترنت الأشياء (IoT)

يمكن لآلاف أو ملايين أجهزة إنترنت الأشياء نشر بيانات المستشعر إلى مواضيع Pub/Sub، مع قيام الخدمات الخلفية بمعالجة البيانات في الوقت الفعلي.

4. إشعارات في الوقت الفعلي

يمكن للتطبيقات استخدام Google Pub Sub لإرسال إشعارات في الوقت الفعلي للمستخدمين، وتحديث لوحات المعلومات، أو تشغيل مهام سير العمل بناءً على الأحداث الواردة.

5. تنسيق سير العمل

يمكن لسير العمل المعقدة عبر الأنظمة الموزعة استخدام Pub/Sub لتشغيل العمليات وتنسيق الخطوات دون اعتماديات صارمة.

زر

دمج Google Pub Sub مع التطوير الموجه بواجهة برمجة التطبيقات (API-Driven Development)

يعد تصميم واجهات برمجة تطبيقات قوية تتفاعل مع Google Pub Sub مطلبًا شائعًا. وهنا تبرز أدوات مثل Apidog كأداة لا تقدر بثمن. يسمح Apidog للمطورين بما يلي:

من خلال دمج Apidog في سير عملك، يمكنك تصميم، محاكاة، واختبار واجهات برمجة التطبيقات التي تتفاعل مع Google Pub Sub، مما يبسط عملية تطويرك ويسرع وقت الوصول إلى الإنتاج.

زر

أفضل الممارسات لاستخدام Google Pub Sub

1. حمولات الرسائل المنظمة

استخدم دائمًا تنسيقات البيانات المنظمة مثل JSON أو Protobuf لحمولات الرسائل لضمان قابلية التشغيل البيني وسهولة التحليل.

2. المشتركون عديمو الأثر الجانبي (Idempotent Subscribers)

صمم المشتركين للتعامل مع الرسائل المكررة بسلاسة، حيث يمكن أن يؤدي التسليم مرة واحدة على الأقل إلى عمليات إعادة محاولة.

3. المراقبة والتنبيه

استفد من Google Cloud Monitoring لتتبع مقاييس Pub/Sub — مثل تراكم الرسائل، وزمن انتقال التسليم، ومعدلات الأخطاء — لضمان صحة النظام.

4. التحكم في الوصول

استخدم أدوار IAM للتحكم الصارم في من يمكنه النشر والاشتراك في مواضيعك. قلل الأذونات إلى الحد الأدنى الضروري.

5. التطوير بالتركيز على واجهة برمجة التطبيقات (API-First Development)

حدد واجهات برمجة تطبيقات Pub/Sub ومخططات الرسائل الخاصة بك مسبقًا. يمكن لـ Apidog أن يساعدك في توثيق ومشاركة هذه التعريفات عبر فريقك، مما يضمن الاتساق ويقلل الأخطاء.

زر

الميزات المتقدمة: الترتيب، التصفية، ومواضيع الرسائل الميتة

ترتيب الرسائل

لحالات الاستخدام التي تتطلب ترتيبًا صارمًا (مثل المعاملات المالية)، يسمح Google Pub Sub بالترتيب حسب المفاتيح، مما يضمن تسليم جميع الرسائل ذات المفتاح نفسه بالترتيب.

تصفية الرسائل

يمكن للاشتراكات تصفية الرسائل بناءً على السمات، مما يضمن حصول المشتركين على البيانات ذات الصلة فقط، مما يقلل من الحمل الزائد للمعالجة.

مواضيع الرسائل الميتة (Dead-Letter Topics)

قم بتكوين مواضيع الرسائل الميتة للتعامل مع الرسائل التي لا يمكن تسليمها، مما يسمح لك بعزل البيانات التي بها مشكلات لفحصها أو إعادة معالجتها لاحقًا.

زر

تسعير وحدود Google Pub Sub

يعتمد تسعير Google Pub Sub على حجم البيانات التي يتم استيعابها أو تسليمها، مع طبقات مجانية سخية (على سبيل المثال، ما يصل إلى 10 جيجابايت شهريًا). توجد أيضًا حصص على حجم الرسالة (حتى 10 ميجابايت)، والإنتاجية، وعدد المواضيع/الاشتراكات لكل مشروع. راجع دائمًا صفحة تسعير Google Cloud Pub/Sub للحصول على التفاصيل.

مثال عملي: بناء مسار تحليلات في الوقت الفعلي باستخدام Google Pub Sub

لنفترض أنك تقوم ببناء منصة لتحليلات الويب. يتم نشر كل حدث عرض صفحة إلى موضوع Pub/Sub بواسطة تطبيقك الأمامي. تشترك خدمة خلفية في هذا الموضوع، وتعالج الأحداث، وتخزن البيانات المجمعة في BigQuery.

سير العمل:

1. الواجهة الأمامية (Frontend): تنشر حمولات JSON إلى موضوع pageviews.

2. Pub/Sub: يسلم الأحداث إلى اشتراك analytics-service.

3. الخدمة الخلفية المشتركة (Backend Subscriber): تسحب الرسائل، تعالجها، وتكتبها إلى BigQuery.

4. لوحة تحكم التحليلات (Analytics Dashboard): تستعلم BigQuery عن المقاييس في الوقت الفعلي.

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

زر

الخاتمة: إتقان Google Pub Sub لتطبيقات السحابة الحديثة

يعد Google Pub Sub حجر الزاوية في البنى السحابية القابلة للتوسع والقائمة على الأحداث. تصميمه المدار بالكامل والعالمي والآمن يجعله الحل الأمثل للمراسلة في الوقت الفعلي، واستيعاب البيانات الضخمة، والاتصال بين الخدمات المصغرة.

سواء كنت تقوم بتصميم واجهات برمجة التطبيقات، أو تنسيق مهام سير العمل، أو بناء مسارات التحليلات، فإن Google Pub Sub يمكّنك من فصل أنظمتك وتسريع الابتكار. يضمن إقران Pub/Sub بأدوات API قوية مثل Apidog أن تكون تطبيقاتك الموجهة بالرسائل قوية، موثقة جيدًا، وسهلة الصيانة.

زر

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات