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-dotnet

0
View on GitHub↗
4,469 stars·834 forks·C#·Apache-2.0·1 vue

Grpc Dotnet

Ce projet est une implémentation .NET du framework gRPC, fournissant un système pour exécuter des fonctions sur des serveurs distants comme s'il s'agissait d'appels locaux. Il sert de framework d'appel de procédure distante (RPC) haute performance qui utilise HTTP/2 pour la connectivité de service et des protocoles de communication binaires pour garantir un échange de données efficace.

L'implémentation inclut un proxy gRPC-Web, qui agit comme une couche de traduction pour permettre aux applications basées sur le navigateur de communiquer avec les services gRPC via des requêtes compatibles web. Il prend en outre en charge la création de maillages de services HTTP/2 pour connecter des microservices distribués avec une faible latence.

Le framework couvre un large éventail de capacités, notamment la sérialisation binaire via Protobuf, la génération de contrats fortement typés et la prise en charge des modèles RPC unaires et de streaming. Il fournit des fonctionnalités complètes d'hébergement serveur et de gestion client, ainsi que des utilitaires de gestion du trafic tels que l'équilibrage de charge côté client et les tentatives d'appel automatiques.

Un support opérationnel supplémentaire est fourni via la sécurité de transport TLS, le contrôle d'accès au niveau de la méthode et des outils d'observabilité, notamment la surveillance de la santé des services et la journalisation diagnostique.

Features

  • gRPC Client Implementations - Provides a high-performance client implementation for invoking remote methods on a server using strongly typed contracts.
  • gRPC Microservices Integration - Provides a high-performance communication layer for building scalable, type-safe microservices architectures in .NET.
  • Protobuf Serialization - Encodes structured data into a compact binary format using Protocol Buffers to reduce payload size and improve speed.
  • gRPC Data Streaming - Implements high-performance unary, server-to-client, client-to-server, and bi-directional message streaming.
  • Asynchronous Stream Handling - Leverages non-blocking I/O to handle bi-directional message flows for real-time data exchange without stalling threads.
  • Binary Communication Protocols - Utilizes a high-efficiency binary serialization format to minimize payload size and maximize network throughput.
  • Cross-Language Service Communication - Enables seamless communication between .NET applications and services written in other languages via shared gRPC contracts.
  • gRPC Implementations - Provides a complete .NET implementation of the gRPC framework for high-performance remote procedure calls.
  • HTTP/2 Support - Uses multiplexed streams and binary framing to allow multiple concurrent requests over a single TCP connection.
  • gRPC Service Implementations - Enables running high-performance remote procedure call services integrated with logging, dependency injection, and security.
  • Remote Procedure Execution - Implements an execution model that allows calling remote functions as if they were local methods.
  • RPC Data Streaming - Supports exchanging multiple messages via client, server, or bi-directional streams for large datasets and real-time updates.
  • RPC Frameworks - Implements a full RPC framework for executing remote functions as if they were local calls.
  • gRPC Server Implementations - Implements high-performance servers that handle remote procedure calls over a binary protocol.
  • Contract-First Type Safety - Provides compile-time safety by generating client and server stubs from a central service contract.
  • Unary RPC Execution - Executes standard single request-response remote procedure call patterns.
  • gRPC-Web Proxies - Implements a proxy that translates binary gRPC calls into a format compatible with web browsers.
  • gRPC Call Interception - Allows injecting custom logic into the request-response pipeline to handle metadata, logging, and cross-cutting concerns.
  • Automatic Retry Clients - Implements configurable automatic retry policies for failed requests to increase network resilience.
  • gRPC-Web Bridging - Provides a translation layer that converts gRPC-Web requests into standard gRPC server requests.
  • JSON Transcoding - Generates RESTful JSON APIs from service definitions to ensure compatibility with standard HTTP clients.
  • gRPC-Web Proxies - Translates binary frames into a web-compatible format to allow browser clients to communicate via gRPC-Web.
  • Client-Side Load Balancing - Distributes requests across multiple backend service replicas using client-side load balancing logic.
  • Client Stub Management - Configures and injects communication clients using a factory pattern to optimize resource management and application startup.
  • Code-First gRPC Service Definitions - Allows defining gRPC service contracts directly from C# classes without requiring external .proto files.
  • Inter-Service Transport Optimizations - Supports efficient local and remote communication using HTTP/2 and Unix Domain Sockets.
  • gRPC and HTTP TLS Securings - Encrypts and authenticates communication between clients and servers using mutual TLS and certificates.
  • Method-Level Authorization - Restricts specific gRPC method execution using authentication and authorization tokens.
  • Request Interception Middleware - Passes requests through a pipeline of handlers to inject cross-cutting logic like logging and authentication.
  • Server Reflection - Hosts a service that allows clients to discover available services and methods dynamically at runtime.
  • Diagnostic Logging - Captures execution traces and diagnostic logs to identify and resolve communication failures.
  • gRPC Service Observability - Provides health checking, diagnostic logging, and server reflection to monitor the operational status of gRPC services.
  • Service Health Monitoring - Exposes operational service status to external monitors using standard gRPC health checking protocols.
  • Shared Message Contracts - Enables sharing generated message types in a common library to maintain contract consistency across projects.
  • Core Libraries - C# implementation for gRPC.
  • RPC Frameworks - Framework for implementing gRPC services in .NET.

Historique des stars

Graphique de l'historique des stars pour grpc/grpc-dotnetGraphique de l'historique des stars pour grpc/grpc-dotnet

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 Dotnet

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Grpc Dotnet.
  • 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
  • grpc/grpc-rustAvatar de grpc

    grpc/grpc-rust

    12,338Voir sur GitHub↗

    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 distr

    Rustasyncgrpcproto
    Voir sur GitHub↗12,338
  • 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
  • sofastack/sofa-rpcAvatar de sofastack

    sofastack/sofa-rpc

    3,920Voir sur GitHub↗

    Sofa-rpc is a high-performance remote procedure call framework designed for building distributed Java applications. It functions as a toolkit for managing a distributed service mesh, providing a gRPC communication layer and a system for registering and locating remote service instances. The framework features a network security layer that implements TLS encryption and authorization checks to protect data transmitted between services. It utilizes a pluggable protocol layer to support multiple communication standards, ensuring flexible point-to-point connectivity. Reliability and traffic manag

    Javahessianhttp2protobuf
    Voir sur GitHub↗3,920
Voir les 30 alternatives à Grpc Dotnet→

Questions fréquentes

Que fait grpc/grpc-dotnet ?

Ce projet est une implémentation .NET du framework gRPC, fournissant un système pour exécuter des fonctions sur des serveurs distants comme s'il s'agissait d'appels locaux. Il sert de framework d'appel de procédure distante (RPC) haute performance qui utilise HTTP/2 pour la connectivité de service et des protocoles de communication binaires pour garantir un échange de données efficace.

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

Les fonctionnalités principales de grpc/grpc-dotnet sont : gRPC Client Implementations, gRPC Microservices Integration, Protobuf Serialization, gRPC Data Streaming, Asynchronous Stream Handling, Binary Communication Protocols, Cross-Language Service Communication, gRPC Implementations.

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

Les alternatives open-source à grpc/grpc-dotnet incluent : line/armeria — Armeria is a Netty-based microservice framework used for building high-performance asynchronous services. It functions… grpc/grpc-rust — grpc-rust is a native gRPC framework for Rust designed for building high-performance remote procedure call clients and… grpc/grpc-node — This project is a gRPC framework for Node.js used to implement high-performance remote procedure calls. It provides a… sofastack/sofa-rpc — Sofa-rpc is a high-performance remote procedure call framework designed for building distributed Java applications. It… apache/brpc — brpc is a high-performance C++ RPC framework and network programming library designed for building distributed… grpc-ecosystem/grpc-spring — grpc-spring is a framework for integrating gRPC servers and clients into Spring applications. It provides a suite of…