Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. C/C++
  3. bRPC

bRPC

Apache-2.0C++1.17.0

An industrial-grade, high-performance RPC framework in C++ for building scalable distributed systems.

Visit WebsiteGitHubGitHub
17.6k stars4.1k forks0 contributors

What is bRPC?

Apache bRPC is an industrial-grade Remote Procedure Call (RPC) framework written in C++, designed for building high-performance distributed systems. It solves the problem of efficient, scalable communication between services in demanding environments like search, storage, machine learning, and advertising platforms, offering multi-protocol support and low-latency performance.

Target Audience

C++ developers and engineers building large-scale, high-performance distributed systems, such as search engines, real-time recommendation systems, or data-intensive microservices architectures.

Value Proposition

Developers choose bRPC for its exceptional performance, flexibility in handling multiple protocols on a single port, and production-ready features like built-in profiling and extensibility, making it a reliable alternative to other RPC frameworks in resource-intensive scenarios.

Overview

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".

Use Cases

Best For

  • Building high-throughput search engine backends
  • Developing low-latency machine learning inference services
  • Creating scalable microservices architectures in C++
  • Implementing multi-protocol servers (e.g., HTTP, gRPC, Redis) on a single port
  • Constructing highly available distributed systems using RAFT consensus
  • Optimizing performance in advertising or recommendation engines

Not Ideal For

  • Web development teams using high-level languages like JavaScript or Python for backend services
  • Projects with simple RPC needs where a lightweight HTTP API or basic gRPC would suffice
  • Startups or small teams lacking dedicated C++ expertise to manage the framework's complexity
  • Windows-centric development environments, as primary support and CI are for Linux and MacOS

Pros & Cons

Pros

Multi-Protocol Server

Handles HTTP, gRPC, Redis, Memcached, and more on a single port, reducing port management and simplifying architecture, as explicitly stated in the README.

High Performance Optimizations

Engineered for low latency and high throughput with efficient threading via bthread and memory management, backed by benchmarks showing superiority over alternatives.

Built-in Observability Tools

Includes HTTP-based debugging and profilers for CPU, heap, and contention, enabling integrated performance analysis without external tools.

Extensible Architecture

Allows easy addition of custom protocols, naming services, and load balancers, facilitating adaptation to organizational needs without core modifications.

Production RAFT Implementation

Comes with braft, an industrial-grade RAFT consensus algorithm, enabling out-of-the-box building of highly available distributed services.

Cons

C++-Only Focus

Primarily targets C++ developers, with limited native client support for other languages, making it less ideal for polyglot microservices architectures.

Steep Learning Curve

Requires deep knowledge of C++ and bRPC-specific concepts like bthread and IOBuf, compounded by complex setup and configuration processes.

Documentation Language Barrier

Significant documentation, including key guides, is only available in Chinese (e.g., README_cn.md links), which can hinder non-Chinese speaking teams.

Vendor-Specific Protocol Reliance

Includes Baidu-specific protocols (e.g., baidu_std) that may not be standard elsewhere, potentially leading to lock-in or integration challenges.

Frequently Asked Questions

Quick Stats

Stars17,569
Forks4,125
Contributors0
Open Issues382
Last commit1 day ago
CreatedSince 2017

Tags

#raft-consensus#high-performance#observability#distributed-systems#low-latency#c-plus-plus#microservices#rpc#rpc-framework#load-balancing

Built With

C
C++

Links & Resources

Website

Included in

C/C++70.6k
Auto-fetched 7 hours ago

Related Projects

Cap'n ProtoCap'n Proto

Cap'n Proto serialization/RPC system - core tools and C++ library

Stars13,128
Forks1,061
Last commit9 hours ago
nanomsgnanomsg

nanomsg library

Stars6,288
Forks1,032
Last commit2 months ago
nngnng

nanomsg-next-generation -- light-weight brokerless messaging

Stars4,639
Forks559
Last commit11 hours ago
IceIce

All-in-one solution for creating networked applications with RPC, pub/sub, server deployment, and more.

Stars2,190
Forks600
Last commit9 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub