apache/brpc sits at 17.6k stars on GitHub, written primarily in C++. 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".
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
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".
You can use it to:
Build a server that can talk in multiple protocols (on same port), or access all sorts of services
restful http/https, h2/gRPC. using http/h2 in bRPC is much more friendly than libcurl. Access protobuf-based protocols with HTTP/h2+json, probably from another language.
redis and memcached, thread-safe, more friendly and performant than the official clients.
rtmp/flv/hls, for building streaming services.
hadoop_rpc (may be opensourced)
rdma support
thrift support, thread-safe, more friendly and performant than the official clients.
all sorts of protocols used in Baidu: baidu_std, streaming_rpc, hulu_pbrpc, sofa_pbrpc, nova_pbrpc, public_pbrpc, ubrpc and nshead-based ones.
Build HA distributed services using an industrial-grade implementation of RAFT consensus algorithm which is opensourced at braft
Servers can handle requests synchronously or asynchronously.
Clients can access servers synchronously, asynchronously, semi-synchronously, or use combo channels to simplify sharded or parallel accesses declaratively.
Debug services via http, and run cpu, heap and contention profilers.
Get better latency and throughput.
Extend bRPC with the protocols used in your organization quickly, or customize components, including naming services (dns, zk, etcd), load balancers (rr, random, consistent hashing)
Try it!
Read overview to know where bRPC can be used and its advantages.
Read getting started for building steps and play with examples.
Docs:
Performance benchmark
bvar
bvar_c++
bthread
bthread or not
thread-local
Execution Queue
bthread tracer
bthread tagged task group
Client
Basics
Error code
Combo channels
Access http/h2
Access gRPC
Access thrift
Access UB
Streaming RPC
Access redis
Access memcached
Backup request
Dummy server
Server
Basics
Serve http/h2
Serve gRPC
Serve thrift
Serve Nshead
Debug server issues
Server push
Avalanche
Auto ConcurrencyLimiter
Media Server
json2pb
Builtin Services
status
vars
connections
flags
rpcz
cpu_profiler
heap_profiler
contention_profiler
Tools
rpc_press
rpc_replay
rpc_view
benchmark_http
parallel_http
Others
IOBuf
Streaming Log
FlatMap
Coroutine
Circuit Breaker
UBRing
RDMA
Bazel Support
Wireshark baidu_std dissector plugin
bRPC introduction(training material)
A tutorial on building large-scale services(training material)
bRPC internal(training material)
RPC in depth
New Protocol
Atomic instructions
IO
Threading Overview
Load Balancing
Locality-aware
Consistent Hashing
Memory Management
Timer keeping
bthread_id
Use cases
User cases
Contribute code
Please refer to here.
Feedback and Getting involved
Report bugs, ask questions or give suggestions by Github Issues
Subscribe to the mailing list([email protected]) to get updated with the project
Code of Conduct
We follow the code of conduct from Apache Software Foundation, please refer it here Link
The most recent commit recorded on apache/brpc was 19 days ago, based on the GitHub push timestamp. The repository has 4.1k forks — one of the better signals of community interest.
How many stars does apache/brpc have?
apache/brpc has 17.6k GitHub stars — refresh the page for the live number, or check github.com/apache/brpc. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
What is apache/brpc?
apache/brpc (apache/brpc) is a C++ project on GitHub. From the project's own README: 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".
What language is apache/brpc written in?
apache/brpc is written primarily in C++. GitHub's language field is based on the largest share of bytes in the default branch.
What topics is apache/brpc associated with?
GitHub's repository topics for apache/brpc: "rpc". TopGit's editorial category is open-source.
Read full README in the tab above.
Still deciding about brpc?
One click hands the question to an AI along with this page — see what it says about brpc.