gRPC-rs 技术文档

gRPC-rs 技术文档


gRPC-rs 是一个基于 gRPC Core 的 Rust 语言封装库,提供了高性能、开源且支持多种平台的 RPC 框架解决方案,尤其强调了移动设备和 HTTP/2 协议的优先支持。

安装指南

确保您的系统满足以下先决条件:

  • CMake >= 3.8.0
  • Rust >= 1.19.0
  • binutils >= 2.22
  • 对于编译时生成绑定,需要 LLVM 和 Clang >= 3.9。
  • Go(>=1.7)用于构建时默认提供的安全性特性(boringssl),或启用 openssl 特性以使用 OpenSSL 替代。
  • 在 Linux 或 MacOS 上,还需安装 gcc 或 clang。
  • 对于 Windows 用户,额外需要安装 Active State Perl、yasm 以及 Visual Studio 2015+。

快速构建

克隆仓库后运行以下命令来初始化子模块并构建项目:

$ ./scripts/reset-submodule.cmd
$ cargo build

若遇到与 OpenSSL 链接相关的错误,请参考文档中的“openssl”特性章节寻找解决方案。

使用说明

从 Proto 文件生成源代码

手动生成(Option 1)
  1. 安装 Protobuf 编译器:

    $ cargo install protobuf-codegen
    
  2. 安装 gRPC 编译器:

    $ cargo install grpcio-compiler
    
  3. 生成源代码:

    $ protoc --rust_out=. --grpc_out=. --plugin=protoc-gen-grpc=`which grpc_rust_plugin` example.proto
    
程序化生成(Option 2)

通过 build.rs 自动处理,详情见 protoc-grpcio 文档。

项目API使用文档

在使用 gRPC-rs 之前,您应通过上述任一方法生成相应的 Rust 模块。之后,在您的项目中添加依赖:

[dependencies]
grpcio = "0.4"

根据需求,可以启用或禁用特定特性,例如禁用默认的 secure 功能以适应内部网络环境:

[dependencies.grpcio]
version = "0.4"
default-features = false
features = ["protobuf-codec"]

或者选择使用 OpenSSL 而非 BoringSSL 来解决可能的链接问题:

[dependencies.grpcio]
version = "0.4.4"
features = ["openssl"]

性能测试

对于性能好奇者,可参照项目目录下的 benchmark 子目录了解如何自行进行基准测试。


此文档覆盖了 gRPC-rs 的基本安装、使用流程以及配置选项,帮助开发者快速上手此框架。记住,持续优化和更新的贡献对于任何开源项目都至关重要,遵循项目的贡献指南来参与其中。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值