brpc is an industrial-grade RPC framework written in C++ for building high-performance distributed systems.
The framework addresses the need for efficient inter-service communication in large-scale systems by supporting multiple protocols on a single port, eliminating the need to run separate servers for different communication standards. It handles HTTP, HTTP/2, gRPC, Redis, Memcached, RTMP, FLV, HLS, Thrift, and various proprietary protocols used at scale. The tool provides both synchronous and asynchronous request handling on the server side, with clients able to make synchronous calls, asynchronous calls, semi-synchronous calls, or use combo channels for declarative sharded and parallel access patterns. Built-in profiling capabilities for CPU, heap, and contention analysis, along with HTTP-based debugging interfaces, support production operations.
Teams building search, storage, machine learning, or recommendation systems at scale should consider brpc when they need low-latency communication across many services and want to avoid managing multiple protocol-specific libraries. The framework is particularly suited to organizations that have standardized on protobuf and need to support legacy protocols alongside modern standards like gRPC. For high-availability requirements, the tool integrates with braft, an industrial-grade RAFT consensus implementation, enabling distributed service architectures.
The project maintains active engagement with a substantial user base, with nearly all open issues originating from external adopters rather than the core team. Maintainers typically respond to new issues and pull requests within a few days. Development activity centers on feature requests, bug fixes, and enhancements, reflecting ongoing refinement based on real-world usage patterns.