

日前,百度开源的 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
评论 1 条评论