MCPcopy Create free account
hub / github.com/apache/brpc

github.com/apache/brpc @1.17.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.17.0 ↗ · + Follow
11,978 symbols 36,203 edges 1,083 files 1,497 documented · 12% updated 4d ago1.17.0 · 2026-05-28★ 17,552380 open issues

Browse by type

Functions 9,470 Types & classes 2,508
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

中文版

Linux Build Status MacOs Build Status

brpc logo (light) brpc logo (dark)

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!

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(dev-subscribe@brpc.apache.org) to get updated with the project

Code of Conduct

We follow the code of conduct from Apache Software Foundation, please refer it here Link

Core symbols most depended-on inside this repo

Shape

Method 6,207
Function 3,263
Class 2,362
Enum 146

Languages

C++100%
Python1%
Ruby1%

Modules by API surface

src/brpc/policy/rtmp_protocol.cpp139 symbols
src/brpc/rtmp.cpp133 symbols
src/brpc/socket.cpp119 symbols
src/brpc/controller.h119 symbols
test/brpc_channel_unittest.cpp110 symbols
src/butil/logging.cc102 symbols
src/butil/type_traits.h99 symbols
src/butil/iobuf.cpp97 symbols
src/brpc/callback.h91 symbols
src/mcpack2pb/serializer.cpp88 symbols
src/brpc/server.cpp81 symbols
src/brpc/controller.cpp81 symbols

For agents

$ claude mcp add brpc \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page