Apache bRPC 1.6.0 版本已发布,支持一些新的功能和问题修复。
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.5.0
1.6.0 版变更如下
新功能
-
支持服务端自定义拦截器 by @chenBright in #2137
-
支持客户端TCP心跳探活机制 by @chenBright in #2098
-
支持日志中显示对应函数名 by @chenBright in #2247
-
支持HTTP协议服务端持续读取数据 by @TangSiyang2001 in #2210
-
支持在DoublyBufferedData的查询逻辑中挂起bthread by @chenBright in #2225
-
支持服务端只接受SSL连接 by @chenBright in #2231
-
支持固定时间重试退避策略和随机时间重试退避策略 by @chenBright in #2273
-
支持release版本的assert by @chenBright in #2306
Bug 修复
-
修复在event dispatcher停止前执行event dispatcher的问题 by @Tuvie in #2220
-
修复thread_local变量操作被编译器优化的问题 by @ehds in #2156、 @adonis0147 in #2248
-
修复wait_pthread被信号中断导致永远不会超时返回的问题 by @jenrryyou in #2086
-
修复MultiDimension::delete_stats潜在的core dump问题 by @ketor in #2237
-
修复编译错误或者告警的问题 by @adonis0147 in #2241、@thorneliu in #2243、 @cdjingit in #2274
-
修改RDMA device错误日志 by @372046933 in #2249
-
修复调用copy_to_cstr可能会导致缓冲区溢出的问题 by @jenrryyou in #2253
-
修复多HCA场景下资源泄露的问题 by @372046933 in #2252
-
修复keepalive单元测试不稳定的问题 by @wwbmmm in #2261
-
修复用户代码抛异常时coredump堆栈不完整的问题 by @smbzhang in #2256
-
修复task group缺少BAIDU_GET_VOLATILE_THREAD_LOCAL 的问题 by @JimChengLin in #2262
-
修复SSL并发读写的线程安全问题 by @warriorpaw in #2180
-
修复Protobuf版本导致的Macos ci失败的问题 by @wwbmmm in #2287
-
修复多个库并发忽略SIGPIPE信号导致bRPC崩溃的问题 by @lrita in #2301
-
修复FlatMap未根据数据类型进行element内存对齐的问题 by @ehds in #2288
功能增强
-
gdb_bthread_stack.py支持打印所有bthread栈帧 by @AIxWall in #2217
-
优化FlatMap operator[]函数的冗余代码 by @AIxWall in #2217
-
HTTP默认方法设置为“/” by @chenBright in #2168
-
使用Bazel的Hedron编译命令提取器 by @372046933 in #2250
-
使用随机数初始化round robin load balancer的偏移值 by @xiaoma2015 in #2289
-
string_printf支持传入格式化后字符串的可能长度 by @chenBright in #2270
-
支持scoped_refptr移动构造函数 by @byronhe in #2284
-
支持execution_queue_execute右值版本重载函数 by @chenBright in #2308
-
优雅退出支持SIGHUP信号 by @old-bear in #2272
其他
- 文档改进