百度开源项目brpc进入Apache孵化器

InfoQ记者从百度开源社区获悉:Apache基金会今日凌晨投票结束,baidu-rpc进入Apache孵化器。这是百度继Echarts\u0026amp;\u0026amp;Doris后,第三个进入国际顶级开源社区Apache的项目。

brpc 是一个基于 protobuf 接口的 RPC 框架,在百度内部称为“baidu-rpc”,它囊括了百度内部所有 RPC 协议,并支持多种第三方协议,从目前的性能测试数据来看,brpc 的性能领跑于其他同类 RPC 产品。

InfoQ在去年9月份一篇相关报道《百度正式开源其 RPC 框架 brpc》中采访 brpc 负责人戈君的时候,他曾经介绍了 brpc的诞生背景以及特点和优势。“brpc 于 2014 年创建,在百度内部称为‘baidu-rpc’。到目前为止,brpc 一共进行了 3000 次左右的改动,现在仍在持续优化中,百度内的 wiki 上可以查询到每次改动的描述。brpc 的主要语言是 C++ 和 Java,对其他语言的支持主要是通过包装 C++ 版本,比如 brpc 的 Python 版包含 C++ 版的大部分功能。”

“brpc 目前支撑百度内部大约 75 万个同时在线的实例(不含 client),超过 500 种服务(去年的统计,现在已不统计这类数据)。Hadoop、Table、Mola(另一种广泛使用的存储)、高性能计算、模型训练、大量的在线检索服务都使用了 brpc。brpc 第一次统一了百度内分布式系统和业务线的通信框架。”

对于此次brpc进入Apache孵化器,百度表示:这是百度开源的又一个重要里程碑,标志着百度开源进入了一个高速发展的阶段,未来势必会开源更多优秀项目,打造更为强大的百度开源生态。

对于brpc 开源对于百度开源生态的意义,戈君认为:“这些年百度对开源的认识也在不断加深,开源看似曝光了百度的核心技术,但带来的生态影响力更重要。从 Apollo、PaddlePaddle 开始,百度真的开始拥抱开源了。brpc 的开源版和内部版很接近,只是去掉了对百度内部独有的一些基础设施的支持,我们在内网写的深入分析 RPC 技术细节的文档也都一并开源了,后续也会及时推送改动,请大家放心。这是一个活项目,不会拉个开源分支就不管了。”

平台简介

brpc目的是构建一套百度内统一的RPC框架,那么灵活的扩展性就是最基础的需求。brpc在实现过程中非常注重机制与策略分离,支持了百度内使用的大部分RPC协议,方便业务无缝迁移业务到brpc。除了协议之外,将名字服务、负载均衡和认证也采用了具体policy实现,比如bns名字服务、rr负载均衡。

\"\"

性能是brpc非常看重的一点,在百度一个框架性能好不好通常是第一评价要素。brpc解决性能最核心的是一个M:N的线程库bthread,通过work stealing实现最大可能的并发。brpc在Socket IO上读和写都是wait-free的,实现最大可能的并发,例如Server端不同连接间请求的并行,同一连接上请求的并行。通过遍布brpc中的并发优化,brpc相比其他rpc框架在长尾问题上表现更优。

\"\"

平台特性

  • 支持的协议:baidu_std, http, nshead,hulu-pbrpc, sofa-pbrpc, nova-pbrpc, ubrpc, streaming-rpc, redis, memcached等二十多种协议
  • 支持的Naming方式:list, file, bns, dns, remotefile
  • 支持的负载均衡策略: random, round_robin,consistant_hash, locality_aware
  • 支持的压缩方式: gzip, zlib, snappy
  • 支持的编程语言: C++, Java, Python, Go(非官方)
  • 支持的调用方式: 同步、异步、组合访问
  • 支持的连接方式:短连接、连接池、单连接、基于连接的认证机制、Giano认证
  • 支持的高可用策略:超时、重试、backup request、取消请求、优雅退出
  • 问题定位支持:强大的buildtin server,查看进程各种状态、debug、tracing、profing信息
  • 基础库:common、bvar、bthread、iobuf等强大的基础库,方便C++编程
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值