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 框架之一。
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
新功能
支持服务端自定义拦截器 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
其他
评论删除后,数据将无法恢复
Apache bRPC 1.6.0 发布
Apache bRPC 1.6.0 版本已发布,支持一些新的功能和问题修复。
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
其他