6 مستودعات
Educational materials covering the design trade-offs and implementation patterns of various inter-service communication protocols.
Distinguishing note: Focuses on the architectural comparison and usage patterns of RPC frameworks like gRPC within distributed systems.
Explore 6 awesome GitHub repositories matching software engineering & architecture · Communication Protocols. Refine with filters or upvote what's useful.
This project is a comprehensive educational resource focused on the principles, patterns, and trade-offs required to design scalable, reliable, and high-performance distributed systems. It provides a structured curriculum that covers the fundamental architectural strategies necessary for building modern software infrastructure, ranging from high-level system decomposition to low-level networking and data management. The repository distinguishes itself by offering deep dives into complex architectural patterns, such as microservices-based decomposition, event-driven communication, and command-
gRPC is a modern open-source high-performance Remote Procedure Call (RPC) framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancin
This project is a service mesh platform designed to manage, secure, and observe service-to-service communication within Kubernetes clusters. It functions as a control plane that orchestrates transparent sidecar proxies, which intercept and manage network traffic to provide reliable connectivity for microservices. By automating the injection of these proxies, the platform ensures that infrastructure-level policies are applied consistently across all workloads without requiring manual configuration changes. The platform distinguishes itself through its focus on zero-trust security and cross-clu
Overrides automatic protocol detection by explicitly defining the communication protocol for specific service ports.
This project is a decentralized, privacy-focused messaging platform designed to eliminate reliance on central servers and persistent user identifiers. By utilizing a metadata-minimizing protocol, it ensures that all communication remains end-to-end encrypted and that user identities are stored exclusively on the local device. The architecture relies on relay-based message routing and identity-free network addressing to maintain data sovereignty and prevent the correlation of user activity. What distinguishes this platform is its commitment to traffic isolation and anonymity. Each conversation
Structures communication protocols to avoid exchanging persistent identifiers or global user IDs during message delivery.
هذا المشروع عبارة عن إطار عمل للتكامل يقوم بتمهيد (bootstrapping) خدمات استدعاء الإجراءات عن بُعد (RPC) الخاصة بـ Apache Dubbo داخل تطبيقات Spring Boot. يعمل كإطار عمل لاتصالات الخدمات المصغرة (microservices) يتيح تنفيذ خدمات RPC، واكتشاف الخدمات، والحوكمة الموزعة من خلال التهيئة المؤتمتة. يتميز المشروع بتوفير جسر RPC متعدد اللغات، مما يسمح للخدمات المكتوبة بلغات مختلفة بالتواصل عبر معايير مثل gRPC و Protobuf. كما يتيح عرض الخدمات المصغرة الخلفية كنقاط نهاية REST باستخدام بروتوكول Triple للوصول المباشر من متصفحات الويب وعملاء الطرف الثالث. يغطي إطار العمل مجموعة واسعة من القدرات، بما في ذلك حوكمة الخدمات الموزعة لتوجيه حركة المرور وتحديد المعدل، وإدارة التهيئة المركزية، وقابلية مراقبة الخدمات المصغرة لتتبع الطلبات ومراقبة الحالة. كما يدعم طبقات نقل متنوعة وتكاملات تخزين لـ Redis و Memcached. يوفر المشروع أدوات بدء (starters) وتهيئات لأتمتة تمهيد بنية RPC التحتية داخل بيئة Spring Boot.
Allows switching between transport protocols such as gRPC, HTTP/2, and TCP via configuration.
GlusterFS هو نظام ملفات موزع محدد برمجياً وعنقود تخزين قابل للتوسع يجمع موارد القرص من خوادم متعددة في مساحة اسم عالمية واحدة. يعمل كمنصة تخزين موحدة، مما يسمح بتعريض نفس البيانات الأساسية من خلال واجهات تخزين الملفات، والكتل، والكائنات. يتميز النظام من خلال بنية لا مركزية تستخدم التجزئة المتسقة لتوزيع الملفات عبر عقد الشبكة دون خادم بيانات تعريف مركزي. يضمن سلامة البيانات وتوافرها باستخدام النسخ المتماثل ذاتي الإصلاح، والاتساق القائم على النصاب القانوني لمنع سيناريوهات انقسام الدماغ، والنسخ المتماثل الجغرافي غير المتزامن للتعافي من الكوارث عبر المواقع الجغرافية البعيدة. توفر المنصة تغطية واسعة للإمكانيات عبر تصدير التخزين متعدد البروتوكولات عبر NFS وSamba وiSCSI، بالإضافة إلى إدارة شاملة لوحدات التخزين بما في ذلك لقطات في الوقت المناسب، وحصص التخزين، وتوسيع السعة المرن. تتم إدارة الأمان من خلال تشفير TLS للبيانات أثناء النقل، وتكامل إدارة الهوية، والتحكم الدقيق في الوصول POSIX. البرنامج متاح كحزم ثنائية من خلال مستودعات المجتمع لتوزيعات Linux المختلفة.
Allows configuration of the communication protocol between clients and storage processes to optimize transfer speeds.
Faye هو وسيط مراسلة في الوقت الفعلي وخادم للنشر والاشتراك (Pub-Sub) عبر WebSockets. يعمل كطبقة اتصال توجه الرسائل بين العملاء وتدير اشتراكات القنوات لتمكين مزامنة البيانات عبر الويب. يوفر المشروع بوابة اتصال عبر النطاقات، مما يسمح لعملاء الويب على نطاقات مختلفة بالتواصل مع خادم مركزي. تم بناؤه كخلفية مراسلة عنقودية يمكنها مشاركة الحالة عبر مثيلات متعددة باستخدام تخزين خارجي للتعامل مع أحجام كبيرة من اتصالات الشبكة المستمرة. تتضمن قدراته منطق النشر والاشتراك لإدارة القنوات وتوجيه الرسائل، إلى جانب طبقة بروتوكول مستقلة عن النقل تدعم كلاً من WebSockets و long-polling. يدمج النظام وسيط أمان لقيود الوصول على النشر والاشتراك، بالإضافة إلى اعتراض حركة مرور الرسائل لتعديل البيانات أو تصفيتها. للحفاظ على الاستقرار، يستخدم النظام استعادة الاتصال القائمة على نبضات القلب (Heartbeat) لاكتشاف الروابط المقطوعة وإعادة تسليم الرسائل المفقودة تلقائياً.
Provides configuration mechanisms to select or disable specific transport protocols based on environment capabilities.