6个版本
0.8.3 | 2021年3月28日 |
---|---|
0.8.2 | 2020年9月20日 |
0.8.1 | 2020年5月25日 |
0.7.1 | 2020年5月4日 |
0.7.0 | 2020年4月27日 |
#35 in #http2
353 每月下载量
在 2 crates 中使用
120KB
3K SLoC
grpc-rust
Rust实现的gRPC协议,处于开发中。
有关开发问题的常见问题解答请参阅FAQ。
当前状态
基本上可以工作,但不适合生产使用。
请参阅 grpc-examples/src/bin/greeter_{client,server}.rs
。例如,可以使用go客户端进行测试。
# start greeter server implemented in rust
$ cargo run --bin greeter_server
# ... or start greeter server implemented in go
$ go get -u google.golang.org/grpc/examples/helloworld/greeter_client
$ greeter_server
# start greeter client implemented in rust
$ cargo run --bin greeter_client rust
> message: "Hello rust"
# ... or start greeter client implemented in go
$ go get -u google.golang.org/grpc/examples/helloworld/greeter_client
$ greeter_client rust
> 2016/08/19 05:44:45 Greeting: Hello rust
路由指南
路由指南示例实现位于grpc-examples文件夹中。
如何生成rust代码
有两种方法从.proto文件生成rust代码
使用protoc-rust-grpc
crate程序调用protoc
(推荐)
请参阅protoc-rust-grpc crate中的readme。
使用protoc
命令和protoc-gen-rust-grpc
插件
在项目中使用生成的protos
在Cargo.toml中
[dependencies]
grpc = "~0.7"
protobuf = "~2"
futures = "~0.3"
[build-dependencies]
protoc-rust-grpc = "~0.7"
TODO
- 修复性能问题
- 更多测试
- 特别是,添加更多兼容性测试,它们位于
interop
目录中 - 修复源中的所有TODO
相关项目
- grpc-rs — Rust中gRPC的另一种实现,C++实现的包装器
- httpbis — HTTP/2的实现,该实现用于此gRPC实现
- rust-protobuf — Google Protocol Buffers的实现
依赖项
~8.5MB
~141K SLoC