Thrift عبارة عن حزمة برامج خفيفة الوزن ومستقلة عن اللغة لتنفيذ RPC من نقطة إلى نقطة. يوفر Thrift تجريدات وتطبيقات نظيفة لنقل البيانات وتسلسل البيانات ومعالجة مستوى التطبيق. يستخدم نظام إنشاء التعليمات البرمجية لغة تعريف بسيطة كمدخلات ويقوم بإنشاء تعليمات برمجية عبر لغات البرمجة التي تستخدم المكدس المستخرج لإنشاء عملاء وخوادم RPC قابلة للتشغيل البيني.
يسهل Thrift على البرامج المكتوبة بلغات برمجة مختلفة مشاركة البيانات واستدعاء الإجراءات عن بعد. مع دعم 28 لغة برمجة، من المحتمل أن يدعم Thrift اللغات التي تستخدمها حاليًا.
تم تصميم Thrift خصيصًا لدعم تغييرات الإصدار غير الذرية عبر كود العميل والخادم. يتيح لك هذا ترقية الخادم الخاص بك مع الاستمرار في القدرة على خدمة العملاء الأقدم؛ أو اطلب من العملاء الجدد إصدار طلبات إلى الخوادم الأقدم. يمكن العثور على مقالة ممتازة مقدمة من المجتمع حول التوفير والتوافق عند إصدار واجهة برمجة التطبيقات (API) في Thrift Missing Guide.
لمزيد من التفاصيل حول تصميم Thrift وتنفيذه، راجع ورقة معلومات Thrift المضمنة في هذا التوزيع، أو في ملف README.md في الدليل الفرعي الذي يهمك.
فرع | ترافيس | ناقل التطبيق | مسح التغطية | codecov.io | موقع إلكتروني |
---|---|---|---|---|---|
master | |||||
0.17.0 |
لا يحتفظ Thrift بتقويم إصدار محدد في هذا الوقت.
ونحن نسعى جاهدين لإصدار مرتين سنويا. قم بتنزيل الإصدار الحالي.
مرخص لمؤسسة Apache Software Foundation (ASF) بموجب اتفاقية ترخيص واحدة أو أكثر للمساهمين. راجع ملف الإشعار الموزع مع هذا العمل للحصول على معلومات إضافية بخصوص ملكية حقوق الطبع والنشر. يقوم ASF بترخيص هذا الملف لك بموجب ترخيص Apache، الإصدار 2.0 ("الترخيص")؛ لا يجوز لك استخدام هذا الملف إلا وفقًا للترخيص. يمكنك الحصول على نسخة من الترخيص على
http://www.apache.org/licenses/LICENSE-2.0
ما لم يكن ذلك مطلوبًا بموجب القانون المعمول به أو تم الاتفاق عليه كتابيًا، يتم توزيع البرامج الموزعة بموجب الترخيص على أساس "كما هي"، دون ضمانات أو شروط من أي نوع، سواء كانت صريحة أو ضمنية. راجع الترخيص لمعرفة الأذونات والقيود التي تحكم اللغة المحددة بموجب الترخيص.
التوفير/
المترجم/
Contains the Thrift compiler, implemented in C++.
ليب/
Contains the Thrift software library implementation, subdivided by
language of implementation.
cpp/
go/
java/
php/
py/
rb/
...
امتحان/
Contains sample Thrift files and test code across the target programming
languages.
درس تعليمي/
Contains a basic tutorial that will teach you how to develop software
using Thrift.
للبناء بنفس الطريقة التي يبني بها Travis CI المشروع، يجب عليك استخدام عامل الإرساء. لدينا تعليمات بناء شاملة لعامل الإرساء.
راجع http://thrift.apache.org/docs/install للحصول على قائمة بمتطلبات البناء (قد تكون قديمة). وبدلاً من ذلك، راجع بيئات إنشاء عامل الإرساء للحصول على قائمة بالمتطلبات الأساسية.
يمكن الحصول على مزيد من المعلومات حول Thrift على صفحة ويب Thrift على:
http://thrift.apache.org
التوفير مستوحى من العمود، وهي أداة RPC خفيفة الوزن كتبها Adam D'Angelo، وأيضًا من المخازن المؤقتة لبروتوكول Google.
إذا كنت تقوم بالإنشاء من المرة الأولى خارج مستودع المصدر، فستحتاج إلى إنشاء البرامج النصية للتكوين. (هذا ليس ضروريًا إذا قمت بتنزيل كرة القطران.) من الدليل العلوي، قم بما يلي:
./bootstrap.sh
بمجرد إنشاء البرامج النصية للتكوين، يمكن تكوين التوفير. من الدليل العلوي، قم بما يلي:
./configure
قد تحتاج إلى تحديد موقع ملفات التعزيز بشكل صريح. إذا قمت بتثبيت Boost في /usr/local
، فسوف تقوم بتشغيل التهيئة كما يلي:
./configure --with-boost=/usr/local
لاحظ أنه بشكل افتراضي، يتم إنشاء مكتبة التوفير C++ عادةً مع تضمين رموز التصحيح. إذا كنت تريد تخصيص هذه الخيارات، فيجب عليك استخدام خيار CXXFLAGS في التكوين، على هذا النحو:
./configure CXXFLAGS='-g -O2'
./configure CFLAGS='-g -O2'
./configure CPPFLAGS='-DDEBUG_MY_FEATURE'
لتمكين الخيارات المطلوبة gcov -fprofile-arcs -ftest-coverage قم بتمكينها:
./configure --enable-coverage
قم بتشغيل ./configure --help لرؤية خيارات التكوين الأخرى
يرجى العلم أن مكتبة Python ستتجاهل خيار --prefix وستقوم فقط بالتثبيت في أي مكان تضعه فيه أدوات Python (عادةً على غرار /usr/lib/pythonX.Y/site-packages/
). إذا كنت تريد التحكم في مكان تثبيت وحدات Python، فاضبط المتغير PY_PREFIX. (يتم احترام DESTDIR لـ Python وC++.)
جعل الادخار:
make
من الدليل العلوي، كن مستخدمًا متميزًا وقم بما يلي:
make install
إلغاء تثبيت التوفير:
make uninstall
لاحظ أنه يجب تثبيت بعض حزم اللغات يدويًا باستخدام أدوات البناء الأكثر ملاءمة لتلك اللغات (في وقت كتابة هذه السطور، ينطبق هذا على Java وRuby وPHP).
ابحث عن الملف README.md في المجلد lib// للحصول على مزيد من التفاصيل حول تثبيت كل حزمة مكتبة لغة.
يتوفر Apache Thrift عبر عدد من مديري الحزم، وهي قائمة تتزايد باطراد. يمكن العثور على نظرة عامة أكثر تفصيلاً على موقع ويب Apache Thrift ضمن "المكتبات" و/أو في ملفات README الخاصة بكل لغة ضمن /lib
يوجد عدد كبير من اختبارات مكتبة العميل التي يمكن تشغيلها جميعًا من دليل المستوى الأعلى.
make -k check
سيؤدي هذا إلى إنشاء جميع المكتبات (حسب الضرورة)، وتشغيلها من خلال اختبارات الوحدة المحددة في كل مكتبة من مكتبات العملاء. إذا فشلت لغة واحدة، فستستمر عملية التحقق وستقدم ملخصًا في النهاية.
لتشغيل مجموعة الاختبار عبر اللغات، يرجى تشغيل:
make cross
سيؤدي هذا إلى تشغيل مجموعة من الاختبارات التي تستخدم عملاء وخوادم لغة مختلفة.