Analysis updated 2026-06-24
Build a high-QPS C++ backend that exposes HTTP, gRPC, and Redis on a single port
Add RAFT-based replication to a stateful service using the bundled braft library
Profile and debug a running C++ service through bRPC built-in HTTP debug pages
Migrate an existing gRPC C++ service to bRPC for higher throughput
| apache/brpc | upx/upx | microsoft/cntk | |
|---|---|---|---|
| Stars | 17,501 | 17,468 | 17,597 |
| Language | C++ | C++ | C++ |
| Setup difficulty | hard | easy | hard |
| Complexity | 5/5 | 2/5 | 5/5 |
| Audience | developer | developer | researcher |
Figures from each repo's GitHub metadata at analysis time.
Needs a C++ build toolchain plus protobuf, gflags, leveldb, and openssl as dependencies.
bRPC (which stands for "better RPC") is an industrial-grade framework for building networked services in C++. RPC stands for Remote Procedure Call, a way for one computer program to call a function or service running on a different machine over a network, as if it were a local function call. bRPC is designed for high-performance systems like search engines, storage systems, machine learning infrastructure, advertising platforms, and recommendation systems. The framework is notable for its breadth of protocol support. A single server built with bRPC can speak many different communication protocols on the same port, including standard HTTP and HTTPS, the modern HTTP/2 standard, gRPC (Google's popular RPC format), Redis, Memcached, Thrift, and a range of protocols developed internally at Baidu (where the project originated). This flexibility means you can expose one service to many different types of clients without running separate servers. On the client side, bRPC supports synchronous calls (wait for the response before continuing), asynchronous calls (send the request and continue doing other work), and hybrid patterns. It also supports distributed system features like load balancing (distributing requests across multiple servers) and high-availability clustering using the RAFT consensus algorithm, a technique for keeping data consistent across a group of servers even when some fail. Built-in debugging tools let you inspect running services via HTTP, and profilers help identify where your program is spending time or memory. bRPC is written in C++ and is now maintained under the Apache Software Foundation.
Industrial-grade C++ RPC framework from Baidu that speaks many protocols on one port, supports sync/async clients, load balancing, and RAFT-based high availability.
Mainly C++. The stack also includes C++, Protobuf, gRPC.
Apache 2.0 lets you use and ship the code in commercial products, modify it freely, and grants a patent license, as long as you preserve the notice file.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.