بروتوكول بفرز لجافا: دليل شامل مع أمثلة عملية

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

بروتوكول بفرز لجافا: دليل شامل

بروتوكول بفرز (Protobuf) هو آلية قوية وفعالة لتسلسل البيانات المهيكلة، طورتها شركة Google. يتيح لك تحديد بنية البيانات مرة واحدة في ملف خاص (.proto)، ثم إنشاء كود مصدري بأي لغة مدعومة (بما في ذلك Java) لقراءة وكتابة هذه البيانات. على عكس الصيغ النصية مثل JSON أو XML، يستخدم Protobuf صيغة ثنائية، مما يجعله أسرع بكثير وأكثر ضغطًا وفعالية للنقل عبر الشبكة أو التخزين على القرص.

لماذا تحتاج هذه المكتبة؟ في عالم الأنظمة الموزعة وهندسة الخدمات المصغرة والتطبيقات عالية التحميل، سرعة وحجم البيانات المنقولة أمران حاسمان. يحل Protobuf مشكلة "الاتفاق" بين الخدمات: تصف عقد البيانات (المخطط) في ملف .proto، وكل الخدمات التي تستخدم هذا العقد تحصل تلقائيًا على الفئات المولدة للتعامل مع البيانات. هذا يزيل أخطاء عدم تطابق الأنواع، ويسرع التطوير، ويبسط صيانة API. بالإضافة إلى ذلك، يدعم Protobuf التوافق العكسي والأمامي للمخططات، مما يسمح بتحديث الحقول دون كسر الإصدارات القديمة من العملاء.

في هذه المقالة، سنستعرض بالتفصيل استخدام بروتوكول بفرز في Java: بدءًا من التثبيت وإنشاء أول ملف .proto وصولاً إلى التقنيات المتقدمة للتعامل مع الرسائل والأداء والأخطاء الشائعة. ستتعلم كيفية تسلسل وإلغاء تسلسل البيانات بكفاءة باستخدام جميع إمكانيات هذه المكتبة.

1. التثبيت

للعمل مع Protobuf في Java، ستحتاج إلى مكونين:

  1. المترجم protoc — أداة سطر أوامر لتوليد كود Java من ملفات .proto.
  2. مكتبة وقت التشغيل (runtime) — ملف JAR يجب إضافته إلى مشروعك.

تثبيت المترجم protoc

قم بتحميل أحدث إصدار من protoc من مستودع GitHub الرسمي لنظام التشغيل الخاص بك. قم بفك ضغط الأرشيف وأضف مسار الملف التنفيذي protoc إلى متغير البيئة PATH.

إضافة التبعية في Maven (الطريقة الموصى بها)

أضف التبعية التالية إلى ملف pom.xml الخاص بك:

<dependency>
    <groupId>com.google.protobuf</groupId>
    <artifactId>protobuf-java</artifactId>
    <version>3.25.3</version> <!-- استخدم الإصدار الأحدث -->
</dependency>

إضافة التبعية في Gradle

implementation 'com.google.protobuf:protobuf-java:3.25.3'

التثبيت عبر مدير الحزم (macOS/Linux)

# macOS (Homebrew)
brew install protobuf

# Ubuntu/Debian
sudo apt-get install protobuf-compiler

بعد التثبيت، تحقق من الإصدار: protoc --version.

2. البداية السريعة: مثال عملي بسيط

لنقم بإنشاء تطبيق بسيط يقوم بتسلسل وإلغاء تسلسل كائن Person.

الخطوة 1: إنشاء ملف person.proto

syntax = "proto3";

package tutorial;

option java_package = "com.example.tutorial";
option java_outer_classname = "PersonProtos";

message Person {
  string name = 1;
  int32 id = 2;
  string email = 3;
}

الخطوة 2: توليد كود Java

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

protoc --java_out=. person.proto

سينشئ هذا الأمر ملفًا باسم com/example/tutorial/PersonProtos.java.

الخطوة 3: كتابة كود Java للتسلسل/إلغاء التسلسل


  
  

توصيات