awesome-repositories.com
Blog
MCP
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
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
twitchtv avatar

twitchtv/twirp

0
View on GitHub↗
7,517 stars·321 forks·Go·Apache-2.0·14 vuestwitchtv.github.io/twirp/docs/intro.html↗

Twirp

Twirp est un framework RPC Protocol Buffers conçu pour implémenter une communication de microservices distribués typée et sécurisée via HTTP. Il fonctionne comme un framework de communication de microservices et un générateur de code API qui produit des stubs clients et des interfaces serveur fortement typés à partir de définitions de schéma pour éliminer le boilerplate réseau manuel.

Le framework assure la compatibilité avec l'infrastructure web existante en exécutant des appels de procédure distante (RPC) sur le transport HTTP standard. Il utilise des contrats basés sur des schémas comme source unique de vérité pour permettre l'interopérabilité entre les langages et découpler la logique métier du transport réseau.

Le système couvre plusieurs domaines de capacités de base, incluant le routage piloté par interface, la sérialisation de données multi-formats prenant en charge à la fois JSON et binaire, et des middlewares de cycle de vie de requête pour les préoccupations transversales. Il fournit également un système de mappage d'erreurs standardisé pour traduire les échecs de service en codes lisibles par machine et inclut des outils pour la vérification de la compatibilité client.

Features

  • Typed RPC Systems - Implements a type-safe RPC system using Protocol Buffers for distributed function invocations over HTTP.
  • Schema-Driven RPC Implementations - Implements remote procedure calls over HTTP using schema-driven contracts for backend communication.
  • API Code Generators - Automates the production of server stubs and client libraries from API interface definitions.
  • Schema-Driven Code Generators - Automatically generates type-safe client stubs and server interfaces from Protobuf schema definitions.
  • Protobuf RPC Frameworks - Offers a complete framework for service communication leveraging Protobuf for interface definition and serialization.
  • HTTP Transports - Executes remote procedure calls over standard HTTP transport to maintain compatibility with existing web infrastructure.
  • Cross-Language Service Communication - Uses a common communication protocol to enable services written in different languages to exchange data.
  • Interface-Based Request Routing - Maps incoming HTTP requests to specific service methods using routing logic derived from API interfaces.
  • Remote Procedure Call Frameworks - Provides a framework for invoking methods on remote services over HTTP as if they were local functions.
  • RPC Frameworks - Offers a complete framework for executing remote procedures across network nodes using optimized transport protocols.
  • Service Communication Libraries - Provides a library that simplifies routing and serialization for request-response inter-service communication.
  • Service Contract Definitions - Uses structured definition files as the single source of truth to enforce consistent API behavior across distributed systems.
  • Protobuf Stub Generators - Generates type-safe client and server stubs from Protocol Buffer interface definitions to eliminate network boilerplate.
  • Service Request Routing - Implements routing strategies that map network calls to service instances based on API definitions.
  • Microservice Frameworks - Provides a framework for building lightweight, production-ready distributed microservices using structured data exchange.
  • Type-Safe Client Generators - Generates type-safe client and server code from API specifications to eliminate manual network boilerplate.
  • Service Action Exposure - Wraps internal service methods and exposes them as standard HTTP endpoints for remote procedure calls.
  • HTTP RPC Transports - Implements an HTTP-based transport layer specifically designed for remote procedure calls.
  • Multi-Format Serializers - Supports both binary and JSON serialization formats for flexible and efficient data exchange between services.
  • Format Selection - Supports both JSON and binary serialization to match client requirements and optimize data exchange.
  • Error Metadata Extensions - Allows attaching custom key-value pairs to API error responses for additional diagnostic context and retry hints.
  • Structured Error Responses - Provides standardized object formats for delivering API errors with consistent identifiers and detail fields.
  • Request Middleware - Implements a sequence of interceptor functions to process requests and responses for cross-cutting concerns.
  • Logic Decoupling - Employs architectural patterns to separate business logic from the underlying HTTP transport layer.
  • Transport-Agnostic Use Cases - Separates business logic from transport-specific details by using generated interfaces that abstract network paths.
  • Machine-Readable Error Codes - Translates service failures and proxy errors into consistent, machine-readable codes for programmatic handling.
  • Structured Error Responses - Sends structured error responses containing both machine-readable codes and human-readable descriptive messages.
  • Service Middleware Pipelines - Provides composable chains of request and response interceptors for managing microservice cross-cutting concerns.
  • Messaging and RPC - A simple RPC framework based on Protocol Buffers.
  • Microservices and RPC - Simple RPC framework using protobuf definitions.
  • RPC Frameworks - Simple RPC framework utilizing protobuf service definitions.

Historique des stars

Graphique de l'historique des stars pour twitchtv/twirpGraphique de l'historique des stars pour twitchtv/twirp

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 à Twirp

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Twirp.
  • go-kratos/kratosAvatar de go-kratos

    go-kratos/kratos

    25,743Voir sur GitHub↗

    Kratos is a toolkit for building cloud-native microservices in Go. It provides a comprehensive suite of framework primitives, including a dedicated toolset for API-first development using Protobuf to generate server and client code for gRPC and HTTP. The project is distinguished by its pluggable service infrastructure, which allows for the swapping of configuration stores, service registries, and data encoding formats. It utilizes a composable middleware pipeline to inject cross-cutting concerns such as authentication, request validation, and circuit breaking into the service flow. The frame

    Goaiarchitecturecloud-native
    Voir sur GitHub↗25,743
  • neuecc/magiconionAvatar de neuecc

    neuecc/MagicOnion

    4,408Voir sur GitHub↗

    MagicOnion is a remote procedure call framework for the .NET platform and Unity. It functions as a binary API protocol and real-time communication engine that uses shared interfaces to provide type-safe communication between clients and servers. The framework distinguishes itself through its compatibility with ahead-of-time compilation environments, utilizing source generators for client proxies and serialization to support mobile and console platforms including those using IL2CPP. It provides a specialized middleware layer for Unity that handles engine-specific data types and ensures runtime

    C#
    Voir sur GitHub↗4,408
  • apache/dubbo-spring-boot-projectAvatar de apache

    apache/dubbo-spring-boot-project

    5,389Voir sur GitHub↗

    This project is an integration framework that bootstraps Apache Dubbo remote procedure call services within Spring Boot applications. It serves as a microservice communication framework that enables the implementation of RPC services, service discovery, and distributed governance through automated configuration. The project distinguishes itself by providing a cross-language RPC bridge, allowing services written in different languages to communicate via standards such as gRPC and Protobuf. It further enables the exposure of backend microservices as REST endpoints using the Triple protocol for

    Javadubbo
    Voir sur GitHub↗5,389
  • apache/dubbo-goAvatar de apache

    apache/dubbo-go

    4,938Voir sur GitHub↗

    Apache Dubbo Go is a Go language implementation of the Apache Dubbo framework designed for building high-performance microservices. It serves as a cross-language RPC framework and microservices communication layer that enables remote procedure calls between services written in different programming languages. The framework functions as a service governance toolset and a distributed service mesh proxy, allowing data planes to connect with external control planes in proxy or proxyless modes. It specifically provides a compatibility layer to facilitate communication between Go and Java-based ser

    Gogohttp2microservices
    Voir sur GitHub↗4,938
Voir les 30 alternatives à Twirp→

Questions fréquentes

Que fait twitchtv/twirp ?

Twirp est un framework RPC Protocol Buffers conçu pour implémenter une communication de microservices distribués typée et sécurisée via HTTP. Il fonctionne comme un framework de communication de microservices et un générateur de code API qui produit des stubs clients et des interfaces serveur fortement typés à partir de définitions de schéma pour éliminer le boilerplate réseau manuel.

Quelles sont les fonctionnalités principales de twitchtv/twirp ?

Les fonctionnalités principales de twitchtv/twirp sont : Typed RPC Systems, Schema-Driven RPC Implementations, API Code Generators, Schema-Driven Code Generators, Protobuf RPC Frameworks, HTTP Transports, Cross-Language Service Communication, Interface-Based Request Routing.

Quelles sont les alternatives open-source à twitchtv/twirp ?

Les alternatives open-source à twitchtv/twirp incluent : go-kratos/kratos — Kratos is a toolkit for building cloud-native microservices in Go. It provides a comprehensive suite of framework… neuecc/magiconion — MagicOnion is a remote procedure call framework for the .NET platform and Unity. It functions as a binary API protocol… apache/dubbo-spring-boot-project — This project is an integration framework that bootstraps Apache Dubbo remote procedure call services within Spring… apache/dubbo-go — Apache Dubbo Go is a Go language implementation of the Apache Dubbo framework designed for building high-performance… connectrpc/connect-go — Connect-go is a library for building type-safe remote procedure call services that are wire-compatible with gRPC and… smallnest/rpcx — rpcx is a high-performance remote procedure call framework for building scalable microservices in Go. It functions as…