百度开源的 brpc 框架新增 Rust 语言支持

阅读数:3806 2019 年 8 月 8 日

日前,百度开源的 brpc 框架项目新增 Rust 语言支持,brpc-rs 现已开源。brpc 是百度内部使用最为广泛的 RPC 框架,以 C++ 语言实现。2017 年 brpc 以 Apache 2.0 协议开源,并于 2018 年末被 Apache 孵化器接收。

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

brpc 开发于 2014 年,主要使用的语言是 C++ Java ,是百度内部使用最为广泛的 RPC 框架,它经受了高并发高负载的生产环境验证,并支撑了百度内部大约 75 万个同时在线的实例。

2018 年 Apache 基金会投票通过 baidu-rpc 进入 Apache 孵化器。这是百度继 Echarts Doris 后,第三个进入国际顶级开源社区 Apache 的项目。

brpc-rs 是一个面向 Rust 开发者的项目,开发者可以使用 Rust 语言实现 brpc 的服务和客户端。项目包括了四个 Rust 软件包,均托管 crates.io 上,用户可使用 cargo 包管理器下载使用:

  • brpc-rs:提供 Rust 风格的 brpc API 供用户调用;

  • brpc-build:用于处理用户提供的.proto 文件生成 Rust 和 C++ 代码;

  • brpc-sys:brpc 的底层 Rust bindings,由 brpc-sys 调用;

  • brpc-protoc-plugin:用于 protobuf compiler 的插件,由 brpc-build 调用。

Rust 是一种多范式系统编程语言,专注于安全性,尤其是安全并发性。Rust 在语法上与 C++ 类似,但它的设计目的是在保持高性能的同时,提供更好的内存安全性。过去四年来,Rust 编程语言增长强劲,2019 年在 Stack Overflow 的调查中,Rust 成为最受欢迎的编程语言。

brpc-rs 大量借鉴了 MesaLink 项目中构建安全跨语言 FFI 接口的经验,在百度安全提出的混合内存安全架构下实现了 Rust 与 C++ 之间的安全跨语言调用。Rust 开发者可以下载并安装 brpc-rs 框架,加以试用。

项目地址: https://github.com/mesalock-linux/brpc-rs

收藏

评论

微博

发表评论

注册/登录 InfoQ 发表评论

最新评论

风吹草不动 2019 年 08 月 09 日 09:27 0 回复
不支持dubbo,请允悲
没有更多了