用于构建可靠和高性能服务的工业级RPC框架

为什么选择 bRPC?

bRPC是用c++语言编写的工业级RPC框架,常用于搜索、存储、机器学习、广告、推荐等高性能系统。

你可以使用它:

  • 搭建能在一个端口支持多协议的服务, 或访问各种服务。
    1. restful http/https, h2/gRPC. 使用bRPC的http实现比libcurl方便多了。从其他语言通过HTTP/h2+json访问基于protobuf的协议.
    2. redis and memcached, 线程安全,比官方client更方便。
    3. rtmp/flv/hls, 可用于搭建流媒体服务。
    4. hadoop_rpc (可能开源)
    5. 支持rdma(即将开源)
    6. 支持thrift, 线程安全,比官方client更方便。
    7. 各种百度内使用的协议: baidu_std, streaming_rpc, hulu_pbrpc, sofa_pbrpc], nova_pbrpc, public_pbrpc, ubrpc和使用nshead的各种协议。
    8. 基于工业级的RAFT算法实现搭建高可用分布式系统,已在braft开源。
  • Server能同步或异步处理请求。
  • Client支持同步、异步、半同步,或使用组合channels简化复杂的分库或并发访问。
  • 通过http界面调试服务, 使用cpu, heap, contention profilers.
  • 获得更好的延时和吞吐。
  • 把你组织中使用的协议快速地加入bRPC,或定制各类组件, 包括命名服务(dns, zk, etcd), 负载均衡(rr, random, consistent hashing)。
  • The Apache Software Foundation

    bRPC is an Apache incubation project.

    Apache Annotator is an effort undergoing incubation at The Apache Software Foundation (ASF) sponsored by the Apache Incubator PMC. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.