Apache bRPC 1.6.0 发布

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 框架之一。

1.6.0 版变更如下

新功能

  • 支持服务端自定义拦截器 by @chenBright in #2137

  • 支持客户端TCP心跳探活机制 by @chenBright in #2098

  • 支持日志中显示对应函数名 by @chenBright in #2247

  • 支持HTTP协议服务端持续读取数据 by @TangSiyang2001 in #2210

    扫描二维码关注公众号,回复: 16206917 查看本文章
  • 支持在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

其他

  • 文档改进

猜你喜欢

转载自www.oschina.net/news/253823/brpc-1-6-0-released