GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - apache/brpc: 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".

BranchesTags
Open more actions menu

Latest commit

 

History

3,918 Commits
3,918 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
bazel
bazel
 
 
cmake
cmake
 
 
community
community
 
 
docs
docs
 
 
example
example
 
 
homebrew-formula
homebrew-formula
 
 
java
java
 
 
package/rpm
package/rpm
 
 
python
python
 
 
registry/modules/libunwind
registry/modules/libunwind
 
 
src
src
 
 
test
test
 
 
tools
tools
 
 
.asf.yaml
.asf.yaml
 
 
.bazelignore
.bazelignore
 
 
.bazelrc
.bazelrc
 
 
.bazelversion
.bazelversion
 
 
.gitignore
.gitignore
 
 
.licenserc.yaml
.licenserc.yaml
 
 
AGENTS.md
AGENTS.md
 
 
BUILD.bazel
BUILD.bazel
 
 
CHANGES.md
CHANGES.md
 
 
CLAUDE.md
CLAUDE.md
 
 
CMakeLists.txt
CMakeLists.txt
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
MODULE.bazel
MODULE.bazel
 
 
Makefile
Makefile
 
 
NOTICE
NOTICE
 
 
README.md
README.md
 
 
README_cn.md
README_cn.md
 
 
RELEASE_VERSION
RELEASE_VERSION
 
 
SECURITY.md
SECURITY.md
 
 
THREAT_MODEL.md
THREAT_MODEL.md
 
 
WORKSPACE
WORKSPACE
 
 
WORKSPACE.bzlmod
WORKSPACE.bzlmod
 
 
config_brpc.sh
config_brpc.sh
 
 

Repository files navigation

中文版

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!

  • Read overview to know where bRPC can be used and its advantages.
  • Read getting started for building steps and play with examples.
  • Docs:
    • Enable FlatBuffers RPC and verify the example
    • 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.

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".

brpc.apache.org

Topics

rpc

Resources

Readme
Apache-2.0 license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

17.6k stars

Watchers

776 watching

Forks

4.2k forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.