عن المشروع
Apache bRPC هو إطار عمل مفتوح المصدر بلغة C++ للاستدعاء عن بُعد (RPC) يستهدف الأنظمة الموزعة الحساسة للأداء مثل خدمات البحث والتخزين والتعلم الآلي والإعلانات والتوصيات.
يمكن لخادم bRPC التواصل عبر بروتوكولات متعددة على نفس المنفذ، بما في ذلك HTTP/HTTPS وHTTP/2 وgRPC وRedis وMemcached وThrift وRTMP/FLV/HLS وRDMA والعديد من بروتوكولات RPC الموروثة من بايدو. يمكنه عرض واجهات RESTful والتحويل بين JSON ورسائل protobuf. يمكن للخوادم معالجة الطلبات بشكل متزامن أو غير متزامن.
يدعم العملاء المكالمات المتزامنة وغير المتزامنة وشبه المتزامنة. توفر القنوات المدمجة (Combo channels) طريقة تعريفية لإصدار طلبات مجزأة أو متوازية. يتضمن الإطار أيضًا طلبات النسخ الاحتياطي، وكسر الدائرة، والحد التلقائي من التزامن، واستراتيجيات موازنة الحمل مثل round-robin والعشوائي والتجزئة المتسقة. تشمل عمليات تكامل خدمة التسمية المذكورة DNS وZooKeeper وetcd.
يوفر bRPC خدمات مدمجة يمكن الوصول إليها عبر HTTP للحالة والمتغيرات والاتصالات والأعلام وتتبع RPC وتوصيف وحدة المعالجة المركزية والذاكرة والتنافس. تشمل أدواته rpc_press وrpc_replay وrpc_view واختبار أداء HTTP وأدوات HTTP المتوازية. يوثق المشروع أيضًا bthread لخيوط مساحة المستخدم، وbvar للمقاييس، وIOBuf لإدارة المخازن المؤقتة، وتحليل بروتوكول Wireshark.
يمكن للمطورين إضافة بروتوكولات جديدة أو تخصيص التسمية وموازنة الحمل والمكونات الأخرى. بالنسبة للخدمات المكررة عالية التوفر، يشير ملف README إلى braft، وهو تطبيق منفصل لتوافق Raft مرتبط بالمشروع. تغطي الوثائق البدء والعملاء والخوادم وRTC المتدفق وخدمة الوسائط والتصحيح وإدارة الذاكرة والإدخال/الإخراج والخيوط وموازنة الحمل ومعايير الأداء والأمثلة.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.