أساسيات كود الحالة في gRPC

رموز حالة gRPC تتبادل بين التطبيقات، مشيرةً إلى ما إذا كانت مكالمة الإجراء عن بُعد قد نجحت أو أدت إلى خطأ. من خلال فهم هذه الرموز، يمكنك فهم كيفية تواصل التطبيقات بسلاسة، وحل المشكلات بشكل أكثر فعالية عند ظهور أخطاء معينة.

Amir Hassan

Amir Hassan

13 أغسطس 2025

أساسيات كود الحالة في gRPC

Apidog للمؤسسات

النشر على الخوادم المحلية

SSO و RBAC

متوافق مع SOC 2

استكشف Apidog للمؤسسات

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

💡
Apidog هي منصة تطوير واجهات برمجة التطبيقات (API) تدعم المستخدمين في إنشاء واجهات برمجة التطبيقات gRPC. استمتع بإطار عمل RPC (نداء الإجراءات البعيدة) فعال وسريع وموثوق مع مساعدة Apidog، الذي يستخدم قدرات البث لتقليل زمن تأخير الشبكة واستهلاك عرض النطاق الترددي.

ابدأ في إنشاء مشروع gRPC الخاص بك مع Apidog من خلال النقر على الزر أدناه! 👇
زر

تتناول هذه المقالة مفهوم رموز حالة gRPC، مما يوفر فهماً أعمق عن كيفية ضمان هذه الرموز لاتصال سلس ومعالجة أخطاء فعالة داخل نظم موزعة.

قبل مناقشة رموز حالة gRPC، دعونا نراجع أولاً ما الذي تمثله gRPC.

ما هي gRPC؟

يشير مصطلح gRPC (نداء الإجراءات البعيدة gRPC) إلى إطار عمل عالي الأداء ومفتوح المصدر يسهل الاتصال بين التطبيقات من خلال آلية نداء الإجراءات البعيدة (RPC).

يتيح إطار عمل gRPC لتطبيق العميل استدعاء طرق على تطبيق الخادم المقيم على جهاز مختلف، كما لو أنه كائن محلي. لذلك، يبسط الإطار تطوير النظم الموزعة من خلال تجريد تعقيدات الاتصال الشبكي.

الخصائص الرئيسية لـ gRPC

حيادية اللغة

RPC مستقل عن المنصة ويدعم لغات برمجة متنوعة، مما يعزز التداخل بين بيئات التطوير المختلفة. هذا يعني أن خدمات gRPC المكتوبة بلغة واحدة يمكن استدعاؤها من قبل عملاء مكتوبين بلغة أخرى، طالما أن كلا اللغتين تحتويان على مكتبات gRPC.

أزرار البروتوكول

تستخدم أزرار البروتوكول، وهي آلية محايدة اللغة لتعريف هياكل البيانات وواجهات الخدمات عن بُعد. وهذا يضمن تسلسل البيانات الفعال وفك تسلسلها بين العملاء والخوادم. تحدد أزرار البروتوكول هيكل البيانات التي يتم تبادلها بين الخدمات.

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

أداء عالٍ

تستفيد gRPC من HTTP/2 لنقل البيانات بشكل فعال، مما يؤدي إلى اتصالات أسرع مقارنةً بأطر RPC التقليدية. HTTP/2 هو تحسين رئيسي على HTTP/1.1، البروتوكول الذي يدعم معظم حركة مرور الويب اليوم. يسمح HTTP/2 بإرسال عدة طلبات على اتصال واحد، مما يمكن أن يقلل زمن التأخير بشكل كبير. بالإضافة إلى ذلك، يدعم HTTP/2 ضغط الرأس، مما يمكن أن يحسن الأداء أكثر.

ميزات غنية

يوفر وظائف مدمجة مثل المصادقة، والتفويض، وتوازن الحمل، وفحص الصحة، مما يبسط عملية التطوير. تساعد هذه الميزات على ضمان أمان وموثوقية وقابلية التوسع لتطبيقات gRPC.

توليد الشيفرة تلقائيًا

تستخدم gRPC تعريفات أزرار البروتوكول لتوليد شيفرة العميل والخادم تلقائياً بلغات برمجة متنوعة. يوفر ذلك على المطورين الوقت والجهد، كما يساعد على ضمان توافق الشيفرة بين العميل والخادم.

دعم البث

تدعم gRPC أنماط البث المختلفة، بما في ذلك البث الأحادي (طلب واحد، استجابة واحدة)، وبث جانب العميل (عدة طلبات، استجابة واحدة)، وبث جانب الخادم (طلب واحد، عدة استجابات)، والبث الثنائي الاتجاه (عدة طلبات وعدة استجابات). تجعل هذه المرونة gRPC مناسبًا لمجموعة واسعة من حالات الاستخدام، بما في ذلك بث البيانات في الوقت الحقيقي ونقل الملفات.

ما هي رموز حالة gRPC؟

يعتمد إطار gRPC على رموز حالة gRPC للتواصل بشأن نتيجة نداء RPC (نداء الإجراءات البعيدة)، مما يوفر للمستخدمين معلومات حول ما إذا كانت العملية ناجحة أو فاشلة.

أنواع رموز حالة gRPC

تعرف gRPC مجموعة من رموز الحالة للتواصل بشأن نتيجة نداءات RPC. توفر هذه الرموز معلومات أكثر تحديدًا من رسالة نجاح / فشل بسيطة، مما يسمح للعملاء بفهم طبيعة أي أخطاء قد تكون حدثت. إليك تحليل لأنواع مختلفة:

نجاح (OK)

رموز الخطأ (مُنتَجة من قبل المستخدم)

عادةً ما يتم إنتاج هذه الرموز بواسطة منطق التطبيق على جانب الخادم وتشير إلى مشاكل محددة تم مواجهتها أثناء نداء RPC.

أُلْغِيَ (الشيفرة: 1)

غير معروف (الشيفرة: 2)

حجة غير صالحة (الشيفرة: 3)

تجاوز المهلة (الشيفرة: 4)

غير موجود (الشيفرة: 5)

موجود بالفعل (الشيفرة: 6)

تم رفض الإذن (الشيفرة: 7)

استنفاد الموارد (الشيفرة: 8)

فشل الشرط المسبق (الشيفرة: 9)

مُلْغى (الشيفرة: 10)

خارج النطاق (الشيفرة: 11)

غير مُنفذ (الشيفرة: 12)

داخلي (الشيفرة: 13)

رموز مُولَّدة من المكتبة (gRPC Core)

هذه الرموز لا يتم إنتاجها مباشرة بواسطة شيفرة المستخدم ولكن بواسطة مكتبة gRPC نفسها في ظروف معينة.

خسارة بيانات (الشيفرة: 15)

أنشئ واجهات برمجة التطبيقات gRPC في غضون دقائق مع Apidog

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

واجهة Apidog
زر

إنشاء واجهة برمجة تطبيقات gRPC باستخدام Apidog

سيوضح هذا القسم دليلًا بسيطًا حول كيفية إنشاء واجهة برمجة التطبيقات gRPC الخاصة بك باستخدام Apidog.

إنشاء مشروع gRPC جديد في Apidog

أولاً، قم بتنزيل وفتح تطبيق Apidog، وابحث عن زر + مشروع جديد، كما هو موضح في الصورة أعلاه.

تسمية واجهة برمجة تطبيقات gRPC في Apidog

ستظهر نافذة منبثقة على شاشتك تطلب منك تأكيد اسم مشروع واجهة برمجة تطبيقات gRPC. يمكنك اختيار اسم مشروع واجهة برمجة تطبيقات gRPC - إنه خاص بك!

استيراد ملف .proto

نظرًا لأن إطار gRPC يتبع نهجًا يبدأ بالواجهة، يجب عليك أولاً تعريف التطوير والخدمات والطرق والرسائل من خلال ملفات .proto.

في Apidog، لديك طريقتان لاستيراد ملفات .proto، وهما:

إضافة ملف proto في Apidog

سيتم استيراد ملفات .proto المختارة كبروتو واحد، حيث سيتم استيراد الخدمة كخدمة، ونداءات RPC كطرق. إذا كانت ملفات .proto المختارة تعتمد على ملفات .proto أخرى، فستحتاج إلى إضافة دليل الاعتماد يدويًا.

مع ذلك، ستتم أيضًا استيراد الخدمات من ملفات .proto الأخرى التي تعتمد عليها .proto المختارة إلى نفس بروتو إذا كانت حزمها تنتمي إلى نفس الحزمة كبروتو .proto المختارة.

إعادة استيراد ملفات .proto

إعادة استيراد ملف proto في Apidog

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

إجراء نداءات أحادية باستخدام Apidog

النداءات الأحادية في Apidog

مثل طلبات HTTP، يمكنك إجراء نداءات أحادية عن طريق إدخال عنوان URL في شريط العنوان، وإدخال محتوى الرسالة بتنسيق JSON في علامة الرسالة. انقر على زر "استدعاء" بمجرد الانتهاء من التفاصيل، وسيتم بدء النداء الأحادي.

إجراء نداءات بث باستخدام Apidog

نداء بث في Apidog

تشبه نداءات البث إلى حد ما اتصالات WebSocket حيث، بعد بدء النداء، يُسمح لك بكتابة وإرسال رسائل تحت علامة الرسالة. تشمل الأنواع الأخرى من نداءات البث بث الخادم، وبث العميل، والبث الثنائي الاتجاه.

لضمان فهم كامل من قبل المستخدمين حول نداءات البث، توفر Apidog عرضًا زمنيًا يعرض حالة النداء، والرسائل المرسلة، والرسائل المستلمة، مرتبة زمنياً.

زر

لتتعرف على مدى ميزات Apidog الكاملة لواجهات برمجة التطبيقات gRPC، تأكد من زيارة هذا الرابط!

الخلاصة

تلعب رموز حالة gRPC دورًا حيويًا في ضمان الاتصالات الفعالة والمفيدة بين تطبيقات الحواسيب. من خلال استخدام نظام موحد من الرموز، يمكن للمطورين تسريع معالجة الأخطاء ونقل سبب المشكلات التي تحدث أثناء التفاعلات بشكل فعال.

لا يؤدي ذلك فقط إلى تبسيط عمليات تصحيح الأخطاء ولكن أيضًا يعزز الموثوقية العامة للنظم الموزعة. مع استمرار gRPC في اكتساب traction، ستصبح الفهم الكامل لرموز حالاته أكثر قيمة للمطورين الذين يهدفون إلى بناء تطبيقات قوية وقابلة للتوسع.

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

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