6 Repos
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.
Dieses Projekt ist ein Integrations-Framework, das Apache Dubbo Remote Procedure Call (RPC) Dienste innerhalb von Spring Boot Anwendungen bootet. Es dient als Microservice-Kommunikations-Framework, das die Implementierung von RPC-Diensten, Service-Discovery und verteilter Governance durch automatisierte Konfiguration ermöglicht. Das Projekt zeichnet sich durch eine sprachübergreifende RPC-Brücke aus, die es Diensten in verschiedenen Sprachen ermöglicht, über Standards wie gRPC und Protobuf zu kommunizieren. Zudem ermöglicht es die Bereitstellung von Backend-Microservices als REST-Endpunkte unter Verwendung des Triple-Protokolls für den direkten Zugriff aus Webbrowsern und Drittanbieter-Clients. Das Framework deckt ein breites Spektrum an Funktionen ab, einschließlich verteilter Service-Governance für Traffic-Routing und Rate-Limiting, zentralisiertem Konfigurationsmanagement und Microservice-Observability für Request-Tracing und Health-Monitoring. Es unterstützt zudem diverse Transport-Layer und Speicherintegrationen für Redis und Memcached. Das Projekt bietet Starter und Konfigurationen zur Automatisierung des Bootstrappings der RPC-Infrastruktur innerhalb der Spring Boot Umgebung.
Allows switching between transport protocols such as gRPC, HTTP/2, and TCP via configuration.
GlusterFS ist ein softwaredefiniertes verteiltes Dateisystem und Scale-Out-Storage-Cluster, das Festplattenressourcen von mehreren Servern in einem einzigen globalen Namensraum aggregiert. Es fungiert als vereinheitlichte Speicherplattform, die es ermöglicht, dieselben zugrunde liegenden Daten über Datei-, Block- und Objektspeicherschnittstellen bereitzustellen. Das System zeichnet sich durch eine dezentrale Architektur aus, die konsistentes Hashing verwendet, um Dateien über Netzwerkknoten hinweg ohne zentralen Metadaten-Server zu verteilen. Es stellt Datenintegrität und -verfügbarkeit durch selbstheilende Replikation, Quorum-basierte Konsistenz zur Vermeidung von Split-Brain-Szenarien sowie asynchrone Geo-Replikation für die Notfallwiederherstellung über entfernte geografische Standorte hinweg sicher. Die Plattform bietet eine breite Abdeckung von Funktionen über Multi-Protokoll-Speicherexport via NFS, Samba und iSCSI sowie umfassende Volume-Verwaltung, einschließlich Point-in-Time-Snapshots, Speicherkontingenten und elastischer Kapazitätserweiterung. Die Sicherheit wird durch TLS-Verschlüsselung für Daten während der Übertragung, Identitätsmanagement-Integration und granulare POSIX-Zugriffskontrolle gehandhabt. Die Software ist als Binärpakete über Community-Repositories für verschiedene Linux-Distributionen verfügbar.
Allows configuration of the communication protocol between clients and storage processes to optimize transfer speeds.
Faye is a real-time messaging middleware and WebSocket publish-subscribe server. It functions as a communication layer that routes messages between clients and manages channel subscriptions to enable data synchronization across the web. The project provides a cross-domain communication gateway, allowing web clients on different domains to communicate with a central server. It is built as a clustered messaging backend that can share state across multiple instances using external storage to handle high volumes of persistent network connections. Its capability surface includes pub-sub logic for
Provides configuration mechanisms to select or disable specific transport protocols based on environment capabilities.