11 Repos
Official language-specific implementations and foundational gRPC tooling.
Explore 11 awesome GitHub repositories matching part of an awesome list · Core Libraries. Refine with filters or upvote what's useful.
Guava is a Java standard library extension and utility toolkit that provides optimized data structures, concurrency tools, and core extensions. It serves as a comprehensive set of helpers for Java development, focusing on reducing repetitive boilerplate logic. The project is distinguished by its specialized implementations of immutable collections, which ensure thread safety and data consistency by preventing accidental modification. It also includes a dedicated graph data structure library for modeling and traversing networks of interconnected nodes and edges, alongside advanced collection t
Provides robust collections, caching, and common utility classes.
gRPC is a language-agnostic remote procedure call framework designed for high-performance communication between distributed services. It utilizes a structured interface definition language to generate consistent client stubs and server skeletons, enabling applications to invoke methods on remote servers as if they were local objects. By leveraging the HTTP/2 transport layer, the framework supports efficient binary serialization and multiplexed data exchange across diverse programming environments. The framework distinguishes itself through its support for flexible communication patterns, incl
Core C-based implementation for multiple languages.
Gson is a Java library designed for the serialization and deserialization of objects into structured text formats. It functions as a reflection-based data mapper, inspecting class structures at runtime to automatically convert memory-resident objects into data representations and reconstruct them back into typed language objects. The library distinguishes itself through a modular type-adapter pattern that allows for custom conversion rules for complex or nested structures. It also provides robust support for production environments by generating build-time metadata and configuration rules, wh
Fast and simple library for JSON serialization and deserialization.
grpc-go is a Go language implementation of the gRPC framework, providing a remote procedure call library for high-performance service communication. It uses the HTTP/2 protocol to execute functions on remote servers as if they were local methods and utilizes protobuf service bindings to generate type-safe client and server code. The project features a bidirectional streaming transport that supports asynchronous, full-duplex message streams between clients and servers. This networking layer allows for various communication patterns, including client-to-server and server-to-client streaming, to
Go language implementation for HTTP/2 based RPC.
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
Java implementation for HTTP/2 based RPC.
gRPC-Web is a JavaScript client library that enables browser applications to call gRPC services through an HTTP proxy, using Protocol Buffers for serialization. It provides a browser-based gRPC client that supports unary, server-streaming, and bidirectional streaming RPCs, along with a code generator that produces JavaScript and TypeScript client stubs from .proto service definitions. The library includes an interceptor framework for attaching cross-cutting logic like authentication and retries to client calls, and supports setting Unix timestamp deadlines on RPCs for server-side timeout enfo
Library for enabling gRPC in web clients.
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.
Node.js implementation for gRPC services.
Dieses Projekt ist eine .NET-Implementierung des gRPC-Frameworks und bietet ein System zur Ausführung von Funktionen auf Remote-Servern, als wären es lokale Aufrufe. Es dient als leistungsstarkes Remote Procedure Call (RPC) Framework, das HTTP/2 für die Dienstkonnektivität und binäre Kommunikationsprotokolle für einen effizienten Datenaustausch nutzt. Die Implementierung umfasst einen gRPC-Web-Proxy, der als Übersetzungsschicht fungiert, um browserbasierten Anwendungen die Kommunikation mit gRPC-Diensten über webkompatible Anfragen zu ermöglichen. Zudem wird die Erstellung von HTTP/2-Service-Meshes unterstützt, um verteilte Microservices mit geringer Latenz zu verbinden. Das Framework deckt ein breites Spektrum an Funktionen ab, einschließlich binärer Serialisierung via Protobuf, typsicherer Vertragserstellung und Unterstützung für sowohl unäre als auch Streaming-RPC-Muster. Es bietet umfassende Funktionen für Server-Hosting und Client-Management sowie Traffic-Management-Dienstprogramme wie clientseitiges Load-Balancing und automatische Wiederholungsversuche bei Aufrufen. Zusätzliche operative Unterstützung wird durch TLS-Transportsicherheit, Zugriffskontrolle auf Methodenebene und Observability-Tools wie Dienst-Gesundheitsüberwachung und diagnostisches Logging bereitgestellt.
C# implementation for gRPC.
The Swift language implementation of gRPC.
Swift implementation for gRPC.
Kotlin gRPC implementation. HTTP/2 based RPC
Kotlin implementation built on the Java library.