- Notifications
You must be signed in to change notification settings - Fork4k
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".
License
apache/brpc
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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 thanlibcurl. Access protobuf-based protocols with HTTP/h2+json, probably from another language.
- redis andmemcached, thread-safe, more friendly and performant than the official clients.
- rtmp/flv/hls, for buildingstreaming 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.
- BuildHA distributed services using an industrial-grade implementation ofRAFT consensus algorithm which is opensourced atbraft
- Servers can handle requestssynchronously orasynchronously.
- Clients can access serverssynchronously,asynchronously,semi-synchronously, or usecombo channels to simplify sharded or parallel accesses declaratively.
- Debug servicesvia http, and runcpu,heap andcontention profilers.
- Getbetter latency and throughput.
- Extend bRPC with the protocols used in your organization quickly, or customize components, includingnaming services (dns, zk, etcd),load balancers (rr, random, consistent hashing)
- Readoverview to know where bRPC can be used and its advantages.
- Readgetting started for building steps and play withexamples.
- 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 tohere.
- Report bugs, ask questions or give suggestions byGithub Issues
- Subscribe to the mailing list(dev-subscribe@brpc.apache.org) to get updated with the project
We follow the code of conduct from Apache Software Foundation, please refer it hereLink
About
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".