An industrial-grade, high-performance RPC framework in C++ for building scalable distributed systems.
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.
C++ developers and engineers building large-scale, high-performance distributed systems, such as search engines, real-time recommendation systems, or data-intensive microservices architectures.
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.
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".
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Handles HTTP, gRPC, Redis, Memcached, and more on a single port, reducing port management and simplifying architecture, as explicitly stated in the README.
Engineered for low latency and high throughput with efficient threading via bthread and memory management, backed by benchmarks showing superiority over alternatives.
Includes HTTP-based debugging and profilers for CPU, heap, and contention, enabling integrated performance analysis without external tools.
Allows easy addition of custom protocols, naming services, and load balancers, facilitating adaptation to organizational needs without core modifications.
Comes with braft, an industrial-grade RAFT consensus algorithm, enabling out-of-the-box building of highly available distributed services.
Primarily targets C++ developers, with limited native client support for other languages, making it less ideal for polyglot microservices architectures.
Requires deep knowledge of C++ and bRPC-specific concepts like bthread and IOBuf, compounded by complex setup and configuration processes.
Significant documentation, including key guides, is only available in Chinese (e.g., README_cn.md links), which can hinder non-Chinese speaking teams.
Includes Baidu-specific protocols (e.g., baidu_std) that may not be standard elsewhere, potentially leading to lock-in or integration challenges.