awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
google avatar

google/tarpc

0
View on GitHub↗
3,713 estrellas·225 forks·Rust·MIT·6 vistas

Tarpc

tarpc is a remote procedure call framework for Rust that generates server traits and client stubs for network communication. It provides an asynchronous service interface that allows remote functions to be called as if they were local asynchronous tasks.

The framework utilizes a serialized transport layer to move request and response data via TCP sockets, Unix domain sockets, or in-process channels. It includes a request lifecycle interceptor for injecting custom logic to handle authorization, throttling, and load balancing, as well as a distributed request telemetry system that attaches deadlines and trace identifiers to calls for performance analysis.

The system covers distributed system communication and inter-process communication, with built-in capabilities for network service resource management and remote service instrumentation.

Features

  • Remote Procedure Calls - Provides a framework for executing functions on remote servers as if they were local asynchronous calls.
  • Interface Definition Code Generation - Generates client stubs and server skeletons from service specifications to reduce manual implementation.
  • Server Boilerplate Generators - Automates the creation of server-side boilerplate code from RPC service definitions.
  • Distributed System Communication - Enables multiple processes to exchange data and execute logic across different machines via network or local sockets.
  • Remote Procedure Call Frameworks - Provides a high-performance framework for invoking remote methods as if they were local asynchronous functions.
  • RPC Frameworks - Offers a complete framework for executing remote procedures across network nodes using optimized transport protocols.
  • RPC Service Implementations - Enables the implementation of business logic for RPC services by fulfilling generated shared interfaces.
  • Transport Layers - Implements a transport layer that moves serialized request and response data via TCP, Unix sockets, or channels.
  • Asynchronous Request Handlers - Implements non-blocking concurrent request processing using asynchronous futures to maintain high throughput.
  • Inter-Process Communication - Implements mechanisms for data exchange and synchronization between separate execution processes on a single machine.
  • Service Trait Generators - Uses Rust procedural macros to automatically generate server traits and client stubs from service definitions.
  • Service Trait Definitions - Generates service traits that allow remote functions to be called as local asynchronous tasks.
  • Request Cancellations - Allows servers to terminate active processing when a client drops the connection to free up resources.
  • Network Service Resource Management - Protects server resources by enforcing request deadlines, limiting connection volumes, and propagating client cancellations.
  • Protocol-Agnostic Transport Layers - Abstracts the network layer by treating communication mediums as generic streams for serialized data.
  • RPC Routing Layers - Routes RPC calls between clients and servers using in-process channels or network protocols.
  • RPC Transport Implementations - Implements request-response patterns across TCP, Unix domain sockets, and in-process channels.
  • TCP and Unix Socket Listeners - Supports moving serialized request and response data using both TCP ports and local Unix domain sockets.
  • TCP Transport Connections - Establishes reliable connections to transport serialized RPC data using TCP or compatible protocols.
  • Contextual Metadata Propagation - Automatically attaches and propagates request-scoped metadata and trace identifiers across distributed execution flows.
  • Connection Limiters - Provides mechanisms to cap the number of concurrent network connections to protect server resources.
  • In-Memory Communication Channels - Provides thread-safe memory channels for exchanging data between tasks within a single process using the RPC interface.
  • Request Interception Middleware - Implements a request lifecycle interceptor chain to handle cross-cutting concerns like telemetry and authorization.
  • RPC Interceptors - Provides interceptors that wrap remote procedure calls to inject logic for authorization, throttling, and load balancing.
  • Request Deadlines - Implements time-based limits that automatically terminate remote requests exceeding a specified duration.
  • Distributed Request Tracking - Tracks the full lifecycle of requests across services by attaching deadlines and trace identifiers.
  • Distributed Tracing Instrumentation - Provides instrumentation to track the execution flow of distributed requests across operations.
  • Distributed Request Tracing - Attaches deadlines and trace identifiers to remote calls to capture processing data across backend operations.
  • Request Interception Middlewares - Provides middleware pipelines to intercept and process requests for authorization, throttling, and load balancing.
  • Language Toolkits - RPC framework for Rust.

Historial de estrellas

Gráfico del historial de estrellas de google/tarpcGráfico del historial de estrellas de google/tarpc

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Tarpc

Proyectos open-source similares, clasificados según cuántas características comparten con Tarpc.
  • neuecc/magiconionAvatar de neuecc

    neuecc/MagicOnion

    4,408Ver en 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#
    Ver en GitHub↗4,408
  • census-instrumentation/opencensus-goAvatar de census-instrumentation

    census-instrumentation/opencensus-go

    2,042Ver en GitHub↗

    OpenCensus-go is an observability instrumentation library designed to capture and export telemetry data from distributed systems. It functions as a framework for application performance monitoring and distributed request tracing, allowing developers to track system health, latency, and the progression of requests across service boundaries. The project distinguishes itself through a modular architecture that decouples data collection from storage. By utilizing a pluggable exporter interface, it enables the transmission of metrics and trace data to a variety of external monitoring and analysis

    Goclouddistributed-tracinggo
    Ver en GitHub↗2,042
  • uptrace/uptraceAvatar de uptrace

    uptrace/uptrace

    4,098Ver en GitHub↗

    Uptrace is an OpenTelemetry-based observability platform designed to collect, store, and analyze distributed traces, metrics, and logs. It functions as a centralized logging backend, a distributed tracing system, and a metrics engine to monitor application performance and system health. The platform is distinguished by AI-powered operational capabilities, allowing users to query telemetry data and manage monitoring dashboards using natural language. It specifically includes specialized monitoring for generative AI pipelines, tracking token usage and response quality for LLM interactions and r

    Goapmapplication-monitoringclickhouse
    Ver en GitHub↗4,098
  • apache/dubbo-spring-boot-projectAvatar de apache

    apache/dubbo-spring-boot-project

    5,389Ver en 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
    Ver en GitHub↗5,389
Ver las 30 alternativas a Tarpc→

Preguntas frecuentes

¿Qué hace google/tarpc?

tarpc is a remote procedure call framework for Rust that generates server traits and client stubs for network communication. It provides an asynchronous service interface that allows remote functions to be called as if they were local asynchronous tasks.

¿Cuáles son las características principales de google/tarpc?

Las características principales de google/tarpc son: Remote Procedure Calls, Interface Definition Code Generation, Server Boilerplate Generators, Distributed System Communication, Remote Procedure Call Frameworks, RPC Frameworks, RPC Service Implementations, Transport Layers.

¿Qué alternativas de código abierto existen para google/tarpc?

Las alternativas de código abierto para google/tarpc incluyen: neuecc/magiconion — MagicOnion is a remote procedure call framework for the .NET platform and Unity. It functions as a binary API protocol… census-instrumentation/opencensus-go — OpenCensus-go is an observability instrumentation library designed to capture and export telemetry data from… uptrace/uptrace — Uptrace is an OpenTelemetry-based observability platform designed to collect, store, and analyze distributed traces,… 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… netflix/ribbon — Ribbon is a client-side load balancer and RPC communication library designed for inter-process communication. It…