Apache bRPC 1.4.0 发布,支持 RDMA


Apache bRPC 1.4.0 版本已发布,支持 RDMA。据称这是毕业之后的第一个版本,由新的版本经理王晓峰负责,顺利完成。

bRPC 于 2014 年诞生于百度基础架构部,是一款采用 C++ 编写的工业级 RPC 框架,常用于搜索、存储、机器学习、广告、推荐等高性能系统。2017 年正式在 GitHub 进行开源,并于 2018 年 11 月正式捐献给全球顶级开源社区 Apache 软件基金会 (ASF),对外开源版本的名称为 Apache bRPC,成为 ASF 孵化级项目。

据介绍,bRPC 以功能全、可扩展、高性能等特性得到越来越多用户的认可和使用,经过四年多的孵化,bRPC 开发者数量增长数倍、在 GitHub 上的 Star 数也超过 14.4K,目前已覆盖了互联网、人工智能、搜索、推荐、电商和教育等多个行业和领域,被许多公司广泛使用并对该项目进行持续贡献,线上服务实例数已超过 600W,现已成为业界广受欢迎的开源 RPC 框架之一。

  • Apache bRPC官网:https://brpc.apache.org
  • 下载链接:https://brpc.apache.org/download/
  • GitHub Release Tag:https://github.com/apache/brpc/releases/tag/1.4.0

1.4.0 版变更如下

新功能

  • 支持 RDMA by @Tuvie in #1836, #1967, #2005, #2036

  • MVariable 支持导出到 Prometheus by @ldak4747 in #1964

  • 支持超时限流 by @yanglimingcn in #2027

  • 支持限制同一连接上消费队列大小 by @chenbay in #1958

  • 支持出错时自定义 HTTP body by @jamesge

  • 支持禁用采样线程 by @leaf-potato in #1990

  • MVariable 添加 delete_stats 和 has_stats 接口 by @serverglen in #2041

  • 优化并发 channel,支持配置各 channel 分片总数 by @cdjingit in #2057

Bug 修复

  • 修正使用 LLD 链接器时符号重复导致的链接错误 by @adonis0147 in #1936

  • 修正 aarch64 下使用 clang 编译后运行时 "sched_to itself" 的问题 by @adonis0147 in #1950

  • 修正解析 redis 消息时数据不足导致已解析消息被释放的问题 by @dorothy00dd2 in #1959

  • 修正非 http(s) 协议误设置 host 的问题 by @thorneliu in #1973

  • 修正MacOS下编译警告: bool literal returned from 'main' [-Wmain] by @zyearn in #2020

  • 修正未清除先前错误信息导致的获取 ssl 错误码错误的问题 by @yyweii in #2019

  • 修正 domain buffer 长度比标准小的问题 by @wayslog in #1965

  • 修正 demangle core 问题 by @wwbmmm in #2037

功能增强

  • 支持使用 bazel 编译 rdma_performance by @372046933 in #1984

  • 支持使用 bazel 作为第三方模块被集成 by @fansehep in #1996

  • 尝试加载多个可能的 libibverbs.so 路径以成功启用 RDMA by @372046933 in #1985

  • 归还 socket 时更新写入时间;调整 -idle_timeout_second 默认值为 30. by @jamesge

  • 当 IOBuf::append_user_data when size == 0 时尽早返回,减少不必要的处理逻辑 by @372046933 in #2009

  • 支持设置自定义 json parser/writer by @old-bear in #2026

  • 统一序列化/反序列化行为,仅支持反序列化根对象数组为单个 repeated 成员的

  • protobuf 对象 by @chenBright in #2035

  • FlatMap 支持 unique_ptr 类型作为 value by @jamesge

其他

  • 调整警告消息,提高可读性 by @leaf-potato in #1989

  • 将 CI 迁移到 GitHub workflow by @guodongxiaren and @zyearn in #1899, #2008, #2015, #2018, #2023 and #2030

  • 减少单元测试输出日志 by @wwbmmm

  • 支持 RHEL 9 系列发行版下 RPM 打包 by @wasphin in #1955

  • 避免 std::string 拷贝 @ml-haha in #1969

  • 头文件中直接包含依赖 by @372046933 in #1993

  • 更新 iobuf.cpp 中警告消息,提高可读性 by @wwbmmm

  • 删除不必要的分号 by @guodongxiaren in #2004

  • profile graph 页面添加描述信息,以方便理解 by @hongliuliao in #2007

  • 删除示例下未使用的 logoff_ms 选项 by @leaf-potato in #2064

  • 尝试修复 "libbrpc.so: undefined symbol: pthread_mutex_lock" 问题 by @co0l1ce in #2049 and #2076

  • 保持 bthread TaskGroup abi 兼容 by @wwbmmm in #2047

  • 其他文档类改进 by @fansehep, @cuishuang, @tanzhongyi003, @lorinlee,

    @Huixxi, @steven-66, @serverglen, @wwbmmm, @wasphin, @Tuvie, @0xflotus,

    @thinh2, @leaf-potato, @TousakaRin, @cdjingit, @chenBright, @freemandealer

    and @yanglimingcn


相關推薦

2023-05-06

Apache bRPC 1.5.0 版本已发布,支持一些新的功能和问题修复。 bRPC 于 2014 年诞生于百度基础架构部,是一款采用 C++ 编写的工业级 RPC 框架,常用于搜索、存储、机器学习、广告、推荐等高性能系统。2017 年正式在 GitHub 进行开源

2023-08-16

Apache bRPC 1.6.0 版本已发布,支持一些新的功能和问题修复。 bRPC 于 2014 年诞生于百度基础架构部,是一款采用 C++ 编写的工业级 RPC 框架,常用于搜索、存储、机器学习、广告、推荐等高性能系统。2017 年正式在 GitHub 进行开源

2023-02-07

2023年1月26日,Apache 软件基金会(ASF)官方宣布 Apache bRPC 正式毕业,成为 Apache 顶级项目(TLP)。                     以上截图来自Apache官网 Apache官网原文链接:https://news.apache.org/found

2023-02-07

2023年1月26日,Apache 软件基金会 (ASF) 官方宣布 Apache bRPC 正式毕业,成为 Apache 顶级项目 (Top-Level Project, TLP)。 Apache bRPC 是由百度初始创立并持续贡献的工业级别 RPC 开源项目,在 2018 年正式贡献给 Apache 软件基金会进行项目孵化

2023-11-23

经过4个多月的预研、开发和测试,FastCFS 5.0终于和大家见面了。FastCFS 5.0使用ibverbs原生方式适配了RDMA网络,可以充分发挥RDMA网络的低延迟和高吞吐特性。在此特别感谢 @Frank 提供IB环境的高端服务器供我们预研;非常感谢 @yunqi

2023-08-16

关于Apache ShenYu Apache ShenYu 一款使用 Java Reactor 开发的响应式API 网关。以其高性能,动态灵活的流量管控,热插拔,易部署等特性,开箱即用为用户提供整套全生命周期的 API网关,包含 API注册、服务代理、协议转换、API文档与 A

2023-02-09

实践,美团内部已经有该理论成熟的应用经验 v1.1.0 发布记录 Features adapter 模块新增 motan rpc 框架线程池管理 adapter 模块新增 okhttp3 线程池管理 新增 OrderedDtpExecutor,感谢 @hailang 提供实现 adapter 模块新增 brpc(sta

2022-05-11

Linux Kernel 5.18-rc6 已作为每周候选版本发布了!这个候选版本主要是一些底层的驱动更新、Bug 修复和性能调优。 对于 Linux 5.18-rc6 带来的改动,Linus Torvalds 评论道: 主要是一些驱动程序更新(网络驱动程序和rdma 脱颖而出,其

2022-09-13

Linus Torvalds 发布了 Linux 6.0 的第五个候选版本,Linux 6.0-rc5 是一个常规的中期测试版本。随机出现了各种各样的错误 / 回归修复,到目前为止, Linux 6.0 稳定版本进展顺利。 Linus 在 Linux 6.0-rc5 公告中写道: 在 rc5 时间范围内,

2021-12-16

​近日,openLooKeng注意到Apache Log4j2反序列化远程代码执行漏洞(CVE ID为CVE-2021-44228),并修复失败。详细方案如下,建议所有用户不要升级。 Apache Log4j2远程代码执行漏洞修复解决方案 【漏洞描述】 Apache Log4j2是一个基于J

2023-08-25

参与到社区的建设。参考攻略:保姆级教程:如何成为 Apache Linkis 文档贡献者   2 ► 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/apache/in

2023-03-30

实践,美团内部已经有该理论成熟的应用经验 v1.1.2 发布记录 Feature 增加对 juc 线程池的动态调参能力,感谢@wenpan 的贡献 增加 ScheduledDtpExecutor,感谢@WindSearcher 的贡献 增加 spring-cloud-tencent 配置中心 polaris 的支持

2022-06-01

Seata 1.5.1 正式发布。 发布概览 主要新增特性:支持用户控制台,支持Skywalking tracing集成,支持bRPC、EDAS Hsf, 支持 kotlin 协程,支持 TCC幂等/空回滚/防悬挂,支持分布式任务调度,支持 Redis 存储lua模式,支持ON DUPLICATE KEY UPDATE 等

2024-01-24

o 从 1.4.0 升级到 2.1.0 #1358 chore(deps):将 /bom 中的 org.apache.dubbo:dubbo 从 3.1.8 升级到 3.1.11 #1381 chore(deps):将 /bom 中的 ch.qos.logback:logback-classic 从 1.2.3 升级到 1.2.13 #1379 Misc 文档:添加 ant codespaces badge #1370 cloud