# apache/brpc

brpc is an Industrial-grade RPC framework using C++ Language, which is often used in high performance system such as Search, Storage, Machine learning, Advertisement, Recommendation etc. "brpc" means "better RPC".

Repository: https://github.com/apache/brpc
Canonical: https://ross.abutalabs.com/products/brpc
Homepage: https://brpc.apache.org
Language: C++
License: Apache-2.0
License Family: permissive
Topics: rpc
Last push: 2026-08-26T02:34:01+00:00

## Health v2 (maintenance only)
Score: 90/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 99, release rhythm 74, longevity 100
- inputs: {"age_days": 3285, "days_push": 8, "days_rel": 97, "gap_med": 80.5, "n_releases_24m": 9}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 17594, forks 4138 (observed 2026-08-28T04:11:20.027972+00:00)

## What it is
Apache bRPC ("better RPC") is an industrial-grade C++ RPC framework for building reliable, high-performance services and clients. It supports many protocols on a single port (HTTP/HTTPS, HTTP/2, gRPC, Redis, Memcached, Thrift, RTMP/FLV/HLS, and Baidu-internal protocols), offers sync/async/semi-sync calls, combo channels for sharded or parallel access, built-in HTTP debug services with CPU/heap/contention profilers, and an industrial-grade RAFT implementation via braft.

## Use cases
- build a high-performance rpc server or client in c++
- serve multiple protocols like http, grpc, and thrift on the same port
- expose protobuf services over http/h2 with json for cross-language access
- implement a thread-safe redis, memcached, or thrift client with better performance
- build highly available distributed services with the raft consensus algorithm
- profile cpu, heap, and lock contention of a c++ backend over http
- parallelize or shard rpc calls declaratively with combo channels
- build a streaming media service with rtmp, flv, and hls

## When to choose
- you need industrial-grade latency and throughput in a C++ backend such as search, storage, ads, recommendation, or machine-learning systems
- you want one server to speak many protocols (HTTP/2, gRPC, Redis, Thrift, custom) on a single port
- you need built-in observability: HTTP-accessible builtin services plus CPU, heap, and contention profilers
- you want high-performance M:N threading (bthread) and counters (bvar) for concurrent C++ services
- you are building consensus-based distributed systems and can pair it with braft

## When to avoid
- your primary language is not C++ and you don't need its performance profile - gRPC, Dubbo, or similar may be simpler
- you only need simple REST APIs without multi-protocol or extreme concurrency requirements
- you want a fully managed or cloud-native service mesh ecosystem rather than a self-managed C++ library
- you need first-class Windows development support, since brpc is primarily targeted at Linux/macOS production environments

## Facets
- artifact type: framework
- maturity: stable
- function: rpc, http-server, http-client, networking, concurrency, streaming
- domain: microservices, backend, networking, apis
- platform: windows, cpp, cross-platform
- tags: rpc-framework, grpc, protobuf, raft-consensus, load-balancing, high-performance, bthread, bvar, redis-client, memcached-client, thrift, rdma, rtmp-flv-hls, multi-protocol, apache-top-level-project, m:n-threading, builtin-profilers, real-time, linux, macos

## Member repositories
- apache/brpc (main) score 90

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:20.027972+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-29T17:02:52.584856+00:00, confidence not recorded.
  - readme: https://github.com/apache/brpc (fetched 2026-08-28T04:11:20.027972+00:00, sha 7de473d3248b)
  - homepage: https://brpc.apache.org (fetched 2026-08-29T08:00:56.890675+00:00, sha 6136e8408bbf)
  - site_page: https://brpc.apache.org/docs/users (fetched 2026-08-29T08:00:56.900591+00:00, sha 6e4cc004de9d)
  - site_page: https://brpc.apache.org/docs/downloadbrpc (fetched 2026-08-29T08:00:56.893036+00:00, sha 968233b57254)
  - site_page: https://brpc.apache.org/docs (fetched 2026-08-29T08:00:56.894653+00:00, sha 634086a9ecdc)
  - site_page: https://brpc.apache.org/docs/community/community (fetched 2026-08-29T08:00:56.896149+00:00, sha 7e79e3991666)
  - site_page: https://brpc.apache.org/docs/asf (fetched 2026-08-29T08:00:56.897620+00:00, sha de2cfa9d2acc)
  - site_page: https://brpc.apache.org/docs/blogs (fetched 2026-08-29T08:00:56.899039+00:00, sha 6371899d4391)
- Data as of 2026-08-30T08:39:29.467469+00:00.
