11 Repos
Frameworks for orchestrating distributed systems through robust messaging patterns and event-driven communication.
Explore 11 awesome GitHub repositories matching networking & communication · Microservices Communications. Refine with filters or upvote what's useful.
Nest is a server-side framework for building scalable and maintainable enterprise-grade applications using TypeScript. It provides a modular architecture that organizes code into encapsulated, reusable modules, utilizing a dependency injection container to manage object lifecycles and resolve component dependencies through declarative metadata. The framework distinguishes itself through a platform-agnostic abstraction layer that decouples core logic from underlying HTTP servers, allowing for flexible implementation choices. It employs a middleware-based request pipeline that processes traffic
Supports distributed system integration through robust messaging patterns and event-driven communication channels.
This project is a reference implementation of microservices architectures using the Spring Cloud ecosystem. It provides a set of example services that demonstrate the construction of distributed systems through automated service discovery, dynamic routing, and shared configuration. The implementation covers core distributed patterns, including a service discovery system for tracking network components and an API gateway for orchestrating incoming traffic. It features a centralized configuration manager to propagate application settings across multiple instances and a distributed tracing syste
Provides a reference implementation for orchestrating microservices using automated discovery and dynamic routing.
gRPC Java is a library for building distributed systems that enables client and server applications to interact through remote procedure calls. It uses protocol buffers to define service interfaces and exchange structured data, providing a framework for connecting microservices across different environments. The framework utilizes an asynchronous networking foundation to manage concurrent connections and relies on a multiplexed binary protocol to facilitate efficient data exchange. It supports pluggable transport interceptors, allowing for the injection of custom logic into the request-respon
Facilitates high-performance inter-service communication using a language-agnostic protocol.
Feign is a declarative Java HTTP client that automates the generation of web service clients. It allows developers to define REST API endpoints using interfaces and annotations, removing the need to write manual request and response boilerplate code. The project uses dynamic proxies to map method calls to HTTP request templates. It features a pluggable pipeline of encoders and decoders to transform Java objects into request bodies and convert response bodies back into type-safe objects. The library covers a broad range of integration capabilities, including request interception for header ma
Standardizes synchronous communication between distributed microservices using a declarative client approach.
Feign is a declarative Java HTTP client framework that maps method signatures to REST API requests. It functions as an HTTP interface mapper, allowing the creation of type-safe clients by defining service interfaces with annotations to eliminate manual request logic. The framework features a pluggable HTTP transport layer, which decouples request definition from execution by routing network traffic through interchangeable underlying HTTP engines. It provides a comprehensive request management pipeline including interceptors for modifying headers, policy-driven retry logic for failure recover
Facilitates communication between distributed Java microservices with built-in support for retries and request interceptors.
MassTransit is a .NET distributed application framework and asynchronous messaging library designed for building distributed systems. It serves as an enterprise service bus implementation that handles the routing, transformation, and delivery of messages between decoupled services. The framework provides a message broker abstraction layer, which decouples application code from specific messaging infrastructure such as RabbitMQ, Azure Service Bus, or Amazon SQS. It supports event-driven architecture and asynchronous microservices communication to improve system scalability and availability. T
Facilitates asynchronous microservices communication to allow independent operation of distributed components.
CAP is a .NET distributed transaction framework and event bus designed to manage asynchronous communication in microservices. It implements the outbox pattern to ensure eventual consistency and reliable message delivery by persisting messages in local database tables until transactions commit. The framework includes a distributed message monitor and web dashboard for tracking the status of sent and received messages. It provides tools for event traffic visualization, distributed request tracing, and the ability to manually trigger retries for failed delivery attempts. The system supports var
Orchestrates communication workflows between microservices using event topics and subscription groups.
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.
Implements a comprehensive framework for orchestrating distributed systems through high-performance RPC and messaging patterns.
Apache Dubbo Go ist eine Go-Implementierung des Apache Dubbo-Frameworks, die für den Aufbau von hochperformanten Microservices entwickelt wurde. Es dient als sprachübergreifendes RPC-Framework und Microservices-Kommunikationsschicht, die Remote Procedure Calls zwischen Diensten ermöglicht, die in verschiedenen Programmiersprachen geschrieben sind. Das Framework fungiert als Toolset für Service-Governance und als Proxy für ein verteiltes Service-Mesh, wodurch Datenebenen mit externen Steuerungsebenen in Proxy- oder Proxy-losen Modi verbunden werden können. Es bietet speziell eine Kompatibilitätsschicht, um die Kommunikation zwischen Go- und Java-basierten Diensten durch sprachunabhängige Definitionen und standardisierte Datenkodierung zu erleichtern. Das System deckt ein breites Spektrum verteilter Funktionen ab, einschließlich dynamischer Service-Discovery, strategiebasierter Lastverteilung und Traffic-Management mittels Circuit Breakern und Rate Limiting. Es integriert Observability durch verteiltes Request-Tracing und Performance-Metriken und gewährleistet gleichzeitig Sicherheit durch Transportverschlüsselung und identitätsbasierte Zugriffskontrolle. Die Entwicklerproduktivität wird durch eine Befehlszeilenschnittstelle für das Application-Bootstrapping und die automatisierte Generierung von RPC-Stubs aus Schnittstellendefinitionen unterstützt.
Handles service registration, health checking, and request tracing across distributed microservice clusters.
Dieses Projekt ist ein gRPC-Framework für Node.js, das für leistungsstarke Remote Procedure Calls (RPC) verwendet wird. Es bietet eine Client-Server-Kommunikationsbibliothek, die HTTP/2 für Streaming, Multiplexing und binäres Framing nutzt, sowie eine Implementierung von Protocol Buffers zur Definition strukturierter Daten und zur Generierung von Service-Stubs. Das Framework enthält eine Toolchain, um Protocol-Buffer-Dateien in sprachspezifische Objekte zu kompilieren, und unterstützt die Generierung statischer TypeScript-Typdefinitionen zur Validierung von Objekten zur Laufzeit. Die Bibliothek deckt Netzwerkkommunikation in verteilten Systemen und Microservices ab, einschließlich SSL/TLS-Verschlüsselung, Nachrichtenkomprimierung und Load Balancing. Sie verwaltet den Request-Lebenszyklus durch Deadlines, Retries, Verbindungs-Recovery und Call-Abbrüche. Zusätzliche Funktionen umfassen bidirektionales Daten-Streaming, Service-Reflection für programmatische Entdeckung und standardisierte Health-Checking-Dienste.
Connects distributed services using efficient request-response and streaming data exchange based on standardized schemas.
Seneca ist ein nachrichtengetriebenes Architektur-Framework und Microservices-Toolkit für Node.js. Es fungiert als verteilter Task-Orchestrator und musterbasierter Nachrichten-Router, der es Entwicklern ermöglicht, Systeme aus entkoppelten Diensten zu erstellen, die über einen Message-Bus kommunizieren. Das Framework zeichnet sich durch ein modulares Plugin-System aus, das Geschäftslogik in wiederverwendbare, konfigurierbare Module organisiert. Es unterstützt dynamische Aktionserweiterungen, wodurch neue Handler bestehende Aktionsmuster umschließen oder überschreiben können, um benutzerdefinierte Logik zu injizieren, ohne den ursprünglichen Code zu ändern. Das System deckt ein breites Spektrum an Funktionen ab, einschließlich verteilter Dienstkommunikation, asynchroner Aktionsorchestrierung und Entity-Datenverwaltung. Es bietet zudem Observability-Tools für das Tracing von Aktionsmustern, webbasierte Log-Visualisierung und Qualitätssicherungstools für das Mocking von Dienstabhängigkeiten.
Facilitates the orchestration of distributed systems through robust messaging patterns and event-driven communication across a network.