# andeya/erpc

An efficient, extensible and easy-to-use RPC framework.

Repository: https://github.com/andeya/erpc
Canonical: https://ross.abutalabs.com/products/erpc
Homepage: https://andeya.github.io/erpc-book
Language: Go
License: Apache-2.0
License Family: permissive
Topics: rpc, microservice, socket, peer-to-peer, protocol, go
Last push: 2024-12-12T07:36:19+00:00

## Health v2 (maintenance only)
Score: 23/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 4085, "days_push": 629, "days_rel": 629, "gap_med": null, "n_releases_24m": 1}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2528, forks 406 (observed 2026-08-28T04:06:58.741042+00:00)

## What it is
eRPC is an efficient, extensible, and easy-to-use RPC framework written in Go. It provides a unified peer API for servers and clients, multiple message protocols (rawproto, proto, pbproto, thriftproto, httproto), pluggable codecs, and support for various network types including TCP, Unix sockets, KCP, QUIC, and WebSocket.

## Use cases
- build microservices with rpc communication in go
- implement peer-to-peer long connections for chat or IM apps
- create a game server with efficient socket messaging
- replace grpc with a flexible go rpc framework supporting multiple codecs
- build a push-based messaging system with call-reply and push message types
- add custom binary protocols to a distributed system
- implement service-to-service communication with auth and heartbeat plugins

## When to choose
- you need a high-performance Go RPC framework with pluggable protocols and codecs
- you want a single peer API for both server and client sides
- you need support for multiple network types like tcp, kcp, quic, and websocket
- you are building microservices, IM, or game backends in Go
- you require graceful reboot and shutdown with automatic client redial

## When to avoid
- your team primarily works in languages other than Go
- you need a widely adopted ecosystem with extensive third-party tooling like grpc
- you only need simple REST or HTTP APIs without rpc semantics
- you require long-term commercial support or a very large community

## Facets
- artifact type: framework
- maturity: active
- function: rpc, serialization, middleware, auth, websocket, logging
- domain: microservices, backend, networking
- platform: go, windows, cross-platform
- tags: peer-to-peer, socket, microservice-framework, custom-protocol, codecs, graceful-restart, im, game-networking, real-time, linux, macos

## Member repositories
- andeya/erpc (main) score 23

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:58.741042+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:25:22.827390+00:00, confidence not recorded.
  - readme: https://github.com/andeya/erpc (fetched 2026-08-28T04:06:58.741042+00:00, sha f476d0318a77)
  - homepage: https://andeya.github.io/erpc-book (fetched 2026-08-29T10:07:43.260573+00:00, sha 744a345073c3)
- Data as of 2026-08-30T08:39:29.467469+00:00.
