نسخ تعاريف البروتو للحصول على استقرار.

الهندسة

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

كيفية تنظيم ملفات البروتوباف؟

تعتمد تنظيم تعريفات بروتوب الخاصة بك على المتطلبات ويمكن أن تختلف من شركة إلى أخرى أو من تطبيق إلى آخر. تم تصميم بروتوكول gRPC بحيث يمكنه استخدام بروتوبافات أو ملفات .proto لتنفيذ مخطط يمكن أن يولد خادمًا وعميلاً يمكنهما إرسال رسائل تتبع التنسيقات المحددة. في البداية، قد يقوم أحد بإعداد ملف .proto في موقعين مختلفين عبر مستودعي Github أو مجلدين لا يشتركان في الوحدات النمطية الشائعة ويحصل على كتل متصلة. في وقت ما قد تنتهي بتعريفات خدمة متعددة ورسائل مكررة عبر المقرئين. باستخدام gRPC ، يمكنك استيراد الوحدات التي تحتاج إليها عبر الملفات للحد من تكرار الكود. في هذا الصدد قد يساعد في إعداد موقع واحد مركزي لتجهيز الملفات وتوريدها إلى مديري الاعتماد لاستهلاكها داخل تطبيقك مثل npm ، cargo ، أو composer. يمكن العثور على مثال على ذلك في هذا الموقع واختباره باستخدام npm (مدير الحزم الخاص بالنود) من خلال تشغيل npm i @a11ywatch/protos. سترى ملفات التعريف داخل node_module.

بروتوبافات من npm باستخدام `npm i @a11ywatch/protos` في سطر الأوامر.
مثال على ملفات البروتو داخل node_modules

فوائد التخضير وفقًا لنموذج الإصدار السيمانتيكي.

عند اتباع سيمفير (التحكم في الإصدارات) مع gRPC ، يساعد في تحديد طبقة التوافق التي تكون صحيحة على مستويات مختلفة. بشكل عام gRPC غير مكسر عبر التحديثات، ما لم تقم بالقيام بما يلي.

تغييرات كسر البيانات

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

القيام بأشياء رائعة مع نظام الإصدار المركزي لدينا.

الآن بعد معرفة الأمور المهمة يمكننا الاستفادة من الأدوات التلقائية التي تساعد على تحسين سير عمل gRPC وزيادة الإنتاجية.

جيف منديز

اسمي جيف وأستمتع ببناء الأشياء والصيد في أوقات فراغي.

منشور ذو صلة

ظل شاملًا بثقة

ابدأ مع A11yWatch الآن بأسعار معقولة وأدوات تشغيل آلي سريعة لقابلية الويب للوصول.