Skip to content
On this page

Remote Procedure Calls

Love using tRPC. Bling & PicoRPC are interesting too.

  • Twirp - Simple RPC framework with protobuf service definitions.
  • RPCValet: NI-driven tail-aware balancing of µs-scale RPCs (2019)
  • tarpc - RPC framework for Rust with a focus on ease of use.
  • Simple GoRpc - RPC explained by writing simple RPC framework in 300 lines of pure Golang.
  • Facebook Thrift - Serialization and RPC framework for service communication. (Paper)
  • Thrift: The Missing Guide
  • Haskell Thrift Compiler - Implementation of the Thrift spec that generates code in Haskell.
  • NNG: Lightweight Messaging Library - Lightweight, broker-less library, offering a simple API to solve common recurring messaging problems, such as publish/subscribe, RPC-style request/reply, or service discovery.
  • Remotely like a procedure call (2020)
  • gorums - Framework for simplifying the design and implementation of fault-tolerant quorum-based protocols.
  • Go Plugin System over RPC
  • Loqui - Transport that implements a very simple framing protocol over a raw socket.
  • Go Tools for Recording and Replaying RPCs
  • RPC - Simple RPC style APIs with generated clients & servers.
  • rpc-perf - Tool for benchmarking RPC services.
  • Cloudflare support for gRPC (2020)
  • qtalk - Minimal set of packages for several languages that achieve an opinionated but expressive way for programmers to get their programs to interact.
  • libqi - NAOqi core framework. Middle-ware framework that provides RPC, type-erasure, cross-language interoperability, OS abstractions.
  • smf - RPC system and code generation like gRPC, Cap n Proto, Apache Thrift, etc, but designed for microsecond tail latency.
  • Cap'n Proto - Insanely fast data interchange format and capability-based RPC system. Think JSON, except binary. (Code)
  • Deepr - Specification for invoking remote methods, deeply.
  • rpc-bench - Benchmarking various RPC implementations.
  • Writing an RPC From Scratch (2021)
  • yarpc - Message passing platform for Go.
  • webrpc - Schema-driven approach to writing backend services for modern Web apps and networks.
  • Apache Dubbo - High-performance, Java-based open-source RPC framework.
  • OpenRPC - Standard, programming language-agnostic interface description for JSON-RPC 2.0 APIs. (GitHub) (Spec) (Spec Code)
  • TChannel - Network multiplexing and framing protocol for RPC. (Code)
  • TChannel Go - Go implementation of a multiplexing and framing protocol for RPC calls.
  • jsonrpc-proxy - Generic and extensible JSON-RPC proxy, supporting cache and load-balancing.
  • rpc - JSONRPC server implementation with native WebSocket, based on jsonrpc.
  • Don’t Let RPCs Constrain Your API (2021) (Tweet)
  • Rony - Fast and Scalable RPC Framework. In Go.
  • Ice - Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python and more.
  • OpenRPC Generator - Multi-Component & Multi-Language Generators for OpenRPC.
  • OCaml Cap'n Proto RPC library
  • OpenRPC Typings - Tool to produce language-specific typings given an OpenRPC document.
  • hRPC - Simple RPC system using protocol buffers over HTTP and WebSockets.
  • hrpc-rs - Implementation of hRPC in Rust.
  • Axon RPC - RPC over event streams. Can execute RPC calls like gRPC but this time, over event streams.
  • SRPC - Simple RPC system based on top of Canary.
  • A Critique of the Remote Procedure Call Paradigm - 30 years later
  • tRPC Playground - Playground for running tRPC queries in the browser.
  • A Critique of the Remote Procedure Call Paradigm (1988) (HN)
  • eRPC - Efficient, extensible and easy-to-use RPC framework. Suitable for RPC, Microservice, Peer-to-Peer, IM, Game and other fields.
  • Gravity - Full-stack RPC framework that provides end-to-end typesafe API with an enjoyable developer experience.
  • Turbocharger - Autogenerated async RPC bindings that instantly connect a JS frontend to a Rust backend service via WebSockets and WASM.
  • gnmic - gNMI CLI client that provides full support for Capabilities, Get, Set and Subscribe RPCs with collector capabilities.
  • starpc - Streaming Protobuf RPC services over any two-way message channel.
  • TwirpScript - Protobuf RPC framework for JavaScript and TypeScript.
  • Volo - High-performance and strong-extensibility Rust RPC framework that helps developers build microservices.
  • Seata-go - Simple Extensible Autonomous Transaction Architecture (Go version).
  • webrpc - Powerful way to do RPC on the web.
  • fRPC - Proto3-compatible RPC Framework that's designed from the ground up to belightweight, extensible, and extremely performant. (Code)
  • ts-rest - RPC-like client and server helpers for a magical end to end typed experience.
  • SPRC - High performance, low latency, lightweight enterprise-level RPC system. Supports Baidu bRPC, Tencent tRPC, thrift protocols.
  • eRPC - Fast and general-purpose RPC library for datacenter networks. (Tweet)
  • dudirekta - Transport-agnostic framework that allows exposing and calling functions on both clients and servers.
  • TSRPC - TypeScript RPC framework with runtime type checking and binary serialization.
  • Blue RPC - Simple but powerful RPC protocol that uses WebSockets and MessagePack.
  • PicoRPC - Tiny RPC library and spec, inspired by JSON-RPC 2.0 and tRPC.
  • bling - Framework agnostic transpilation utilities for client/server RPCs, env isolation, islands, module splitting, and more. (Tweet)
  • UJRPC - Up to 100x Faster FastAPI. JSON-RPC with io_uring, SIMDJSON, and pure CPython bindings. (HN)
  • brpc - Industrial-grade RPC framework using C++ Language.
  • oneRPC - RPC library for the serverless and TypeScript era.
  • Knit - GraphQL-like capabilities to services using Protocol Buffers, gRPC, and Connect. (API (Go Code)
  • Prim+RPC - Easy-to-understand, type-safe, transport-agnostic RPC/IPC for JavaScript, supporting callbacks, batching, file uploads, custom serialization, and more.
  • Async Call - Lightweight JSON RPC client & server.