awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
grpc avatar

grpc/grpc-rust

0
View on GitHub↗
12,338 stars·1,225 forks·Rust·MIT·9 vuesdocs.rs/tonic↗

Grpc Rust

grpc-rust is a native gRPC framework for Rust designed for building high-performance remote procedure call clients and servers. It provides an asynchronous communication stack and a protocol buffers implementation for encoding, decoding, and generating type-safe code from service definitions.

The project enables the implementation of unary and bi-directional data streaming over the HTTP/2 protocol. It includes specialized support for gRPC-Web integration, allowing browser-based clients to communicate with services through protocol translation.

The infrastructure covers a broad range of distributed systems capabilities, including service reflection for runtime discovery, standardized health monitoring, and client-side load balancing. Security is handled through transport layer security with support for certificates and mutual authentication.

The toolkit includes automated code generation to produce strongly typed client and server stubs directly from protobuf interface definitions.

Features

  • gRPC Implementations - Provides a native Rust implementation of the gRPC protocol for high-performance remote procedure call clients and servers.
  • gRPC Service Implementations - Implements high-performance gRPC clients for initiating remote procedure calls across a network.
  • Protobuf Stub Generators - Automatically produces strongly typed client and server stubs from protobuf definitions for type-safe communication.
  • Binary Serialization Codecs - Provides pluggable encoders and decoders for translating high-level types into binary wire formats.
  • Protobuf Serialization - Uses protocol buffers for efficient binary serialization and deserialization of messages.
  • Build-Time Code Generation Engines - Integrates gRPC code generation into the build process to keep types synchronized with protobuf definitions.
  • Interface Definition Code Generation - Automatically generates client stubs and server skeletons from protobuf interface definition files.
  • Protobuf Code Generators - Provides automated code generation to produce strongly typed client and server stubs directly from protobuf interface definitions.
  • Service Stub Generators - Provides automated generation of client and server stubs from protobuf definitions for type-safe network communication.
  • gRPC Service Generators - Automatically generates gRPC service source code from protocol definitions during the build process.
  • Bi-directional Streaming RPC - Supports full-duplex bi-directional streaming of messages between clients and servers for real-time communication.
  • gRPC Client-Server Toolkits - Generates both client and server implementations from protobuf definitions to enable full-stack RPC communication.
  • gRPC Code Generators - Produces client and server implementations automatically from protobuf definitions to ensure type safety.
  • gRPC Client Implementations - Provides the necessary infrastructure to build clients that invoke remote functions through a typed interface.
  • gRPC-Web Bridging - Translates gRPC-Web requests from browser-based clients into standard gRPC server requests.
  • HTTP/2 Support - Implements the HTTP/2 protocol to support request multiplexing and concurrent data streaming.
  • Asynchronous Transport Stacks - Ships an asynchronous communication stack featuring TLS encryption, payload compression, and custom request interceptors.
  • Type-Safe Remote Calls - Enforces type safety across distributed calls by defining RPC types via shared protobuf schemas.
  • Async-Await Flow Control - Implements a non-blocking asynchronous execution model to handle concurrent RPC calls efficiently.
  • gRPC and HTTP TLS Securings - Encrypts communication between clients and servers using TLS with configurable certificates and mutual authentication.
  • SSL/TLS Connection Security - Secures network traffic using transport layer security to ensure data privacy and peer authenticity.
  • TLS Traffic Encryption - Secures communication channels between clients and backend services using SSL/TLS encryption.
  • Transport Layer Security - Provides transport-level encryption and authentication for secure network communication channels.
  • Protocol Buffer Implementations - Includes a full protocol buffers implementation for encoding and decoding messages from service definitions.
  • RPC - Allows attaching and extracting detailed error metadata to programmatically communicate specific failure reasons.
  • API Error Handling - Implements a detailed error model to convey complex failure states beyond simple numeric status codes.
  • RPC Infrastructure Toolkits - Provides distributed systems capabilities such as service reflection, standardized health monitoring, and client-side load balancing.
  • Connection Lifecycle Managers - Manages the connection lifecycle, including keep-alive settings, timeouts, and lazy connection establishment.
  • Reflection Services - Exposes service metadata at runtime to allow clients to discover available methods and types.
  • Client-Side Load Balancing - Provides logic to distribute outgoing requests across multiple backend endpoints to optimize reliability.
  • Network Data Compression - Provides utilities to compress gRPC network payloads to optimize bandwidth and reduce transmission size.
  • Traffic Distribution - Balances network traffic across multiple backend endpoints to optimize resource utilization and reliability.
  • API Access Security - Secures API access using encryption and authentication tokens to ensure authorized communication.
  • API Request Authentication - Implements authentication processes for API requests to ensure only authorized clients can access the server.
  • Certificate Trust Validation - Validates server identities using programmable verifiers during the TLS connection handshake.
  • Request Size Limiters - Enforces maximum message and header sizes to protect server resources from exhaustion.
  • Secure Network Communication - Implements secure network communication using TLS encryption and certificates to protect gRPC traffic.
  • Interceptor Middleware - Implements a pluggable middleware pipeline to process requests and responses for cross-cutting concerns.
  • Request Interceptors - Includes request and response interceptors for implementing cross-cutting concerns like authentication and logging.
  • Service Request Routing - Directs incoming gRPC requests to the appropriate service implementation via a multiplexing router.
  • Service Health Monitoring - Provides a standardized health checking service to report the operational status of the server to monitoring tools.
  • Request Metadata Attachment - Supports attaching custom key-value metadata to requests and responses for out-of-band information like tokens.
  • Error Handling - Processes detailed error metadata between clients and servers to provide rich context for failures.
  • Transport Parameter Tuning - Allows adjustment of low-level HTTP/2 transport settings such as maximum frame and header table sizes.
  • gRPC-Web Client Support - Handles requests from web-based clients directly on the server, removing the need for an external proxy.

Historique des stars

Graphique de l'historique des stars pour grpc/grpc-rustGraphique de l'historique des stars pour grpc/grpc-rust

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Grpc Rust

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Grpc Rust.
  • grpc/grpc-dotnetAvatar de grpc

    grpc/grpc-dotnet

    4,469Voir sur GitHub↗

    This project is a .NET implementation of the gRPC framework, providing a system for executing functions on remote servers as if they were local calls. It serves as a high-performance remote procedure call (RPC) framework that utilizes HTTP/2 for service connectivity and binary communication protocols to ensure efficient data exchange. The implementation includes a gRPC-Web proxy, which acts as a translation layer to enable browser-based applications to communicate with gRPC services through web-compatible requests. It further supports the creation of HTTP/2 service meshes to connect distribut

    C#
    Voir sur GitHub↗4,469
  • grpc/grpc-nodeAvatar de grpc

    grpc/grpc-node

    4,833Voir sur GitHub↗

    This project is a gRPC framework for Node.js used to implement high-performance remote procedure calls. It provides a client-server communication library that utilizes HTTP/2 for streaming, multiplexing, and binary framing, alongside a protocol buffers implementation for defining structured data and generating service stubs. The framework includes a toolchain to compile protocol buffer files into language-specific objects and supports the generation of static TypeScript type definitions to validate objects at runtime. The library covers distributed system networking and microservices communi

    TypeScript
    Voir sur GitHub↗4,833
  • tikv/grpc-rsAvatar de tikv

    tikv/grpc-rs

    1,851Voir sur GitHub↗

    This library provides a framework for implementing gRPC clients and services in Rust, enabling reliable communication between distributed system components. It facilitates the definition and hosting of asynchronous unary and streaming network services, utilizing protocol buffers to ensure consistent, strongly-typed data exchange. The project distinguishes itself by integrating with a high-performance C core via foreign function interfaces to handle low-level networking and protocol logic. It employs a task-based concurrency model to coordinate non-blocking operations and utilizes zero-copy me

    Rustgrpcrust
    Voir sur GitHub↗1,851
  • line/armeriaAvatar de line

    line/armeria

    5,115Voir sur GitHub↗

    Armeria is a Netty-based microservice framework used for building high-performance asynchronous services. It functions as a multi-protocol RPC server capable of exposing gRPC, Thrift, and REST services on a single unified port. The project is distinguished by its ability to run diverse communication protocols simultaneously and its integrated RPC debugging web console, which allows for the discovery and invocation of remote procedure calls via JSON. It also includes a gRPC to JSON transcoder to enable web client compatibility with Protobuf services. The framework provides a comprehensive sui

    Java
    Voir sur GitHub↗5,115
Voir les 30 alternatives à Grpc Rust→

Questions fréquentes

Que fait grpc/grpc-rust ?

grpc-rust is a native gRPC framework for Rust designed for building high-performance remote procedure call clients and servers. It provides an asynchronous communication stack and a protocol buffers implementation for encoding, decoding, and generating type-safe code from service definitions.

Quelles sont les fonctionnalités principales de grpc/grpc-rust ?

Les fonctionnalités principales de grpc/grpc-rust sont : gRPC Implementations, gRPC Service Implementations, Protobuf Stub Generators, Binary Serialization Codecs, Protobuf Serialization, Build-Time Code Generation Engines, Interface Definition Code Generation, Protobuf Code Generators.

Quelles sont les alternatives open-source à grpc/grpc-rust ?

Les alternatives open-source à grpc/grpc-rust incluent : grpc/grpc-dotnet — This project is a .NET implementation of the gRPC framework, providing a system for executing functions on remote… grpc/grpc-node — This project is a gRPC framework for Node.js used to implement high-performance remote procedure calls. It provides a… tikv/grpc-rs — This library provides a framework for implementing gRPC clients and services in Rust, enabling reliable communication… line/armeria — Armeria is a Netty-based microservice framework used for building high-performance asynchronous services. It functions… grpc/grpc-go — grpc-go is a Go language implementation of the gRPC framework, providing a remote procedure call library for… grpc/grpc-web — gRPC-Web is a JavaScript client library that enables browser applications to call gRPC services through an HTTP proxy,…