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.
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 (will be opensourced)
 - 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)
 
- 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
 - bthread
 - Client
 - Server
 - Builtin Services
 - Tools
 - Others
- IOBuf
 - Streaming Log
 - FlatMap
 - brpc introduction(training material)
 - A tutorial on building large-scale services(training material)
 - brpc internal(training material)
 
 - RPC in depth
 - Use cases
 
 
Please refer to here.
- Report bugs, ask questions or give suggestions by Github Issues
 - Subscribe mailing list([email protected]) to get updated with the project
 
We follow the code of conduct from Apache Software Foundation, please refer it here Link