grpc框架_Rust与gRPC的那些事

974a5578a53b2139cd9b6041b2277798.png

这篇文章准备写一写Rust与gRPC的那些事,gRPC是什么?这里引用gRPC官网的一句介绍,

gRPC is a modern open source high performance RPC framework that can run in any environment.

直白地翻译过来就是可以运行在各种环境的现代开源高性能RPC框架。当然,关于gRPC的性能,似乎在各种RPC框架性能测试中都是被吊打的对象。比如下图中就是百度开源RPC框架brpc中的性能测试:

cd2b249b546c3267068c0352c4ce244e.png

更多详情请见brpc的benchmark。

当然我不是有意在黑gRPC,它还是有很多优点的,比如多语言支持,在gRPC的官网中,就提供了下面这些语言的支持:

e91c7ba791854152338e6d36b896670d.png

很显然,这些语言不包括Rust!,既然官方不支持,那么民间有么有实现呢?

一番搜索之后,找到了下面的实现:

https://github.com/tikv/grpc-rs

https://github.com/stepancheg/grpc-rust

https://github.com/tower-rs/tower-grpc

https://github.com/tokenio/grpc-actix

https://github.com/hyperium/tonic

下面来简单介绍一下这些实现。

1、tikv的grpc-rs实现

关于这个实现的历史其实可以去看下面这篇文章:

TiDB与gRPC的那点事-InfoQ​www.infoq.cn

grpc-rs出身名门(pingcap也算是个名门吧),使用的gRPC的C语言版本通过Rust进行binding,不是纯native的rust,已经在TiKV上使用,也是经过生产环境检验过的,目前github还在活跃更新,是个不错的选择。

2. grpc-rust

这个库说实话,不怎么了解,但是在reddit上看到有人介绍,原话如下:

grpc-rust is definitely the most mature and popular, but the API is clunky and un-idiomatic.

就是说这个库比较成熟和流行,但是API似乎设计的不够好,这个是native的rust实现,目前github还在积极更新中。

3. tower-grpc

据说根正苗红,作者里有mio的作者carllerche,hyper的作者seanmonstar,但是已经停更了,最近的一次commit是四个月之前,不建议生产环境使用。

e783c58977917debcc2c3f5d4b29b679.png

4. grpc-actix

应该是基于actix生态实现的,目前也已经停更,不建议使用。

5. tonic

起初只找到了上面的四个库,但是赶脚都不太满意,然后突然想到去看看libra里使用了什么rpc框架,于是去翻了翻libra的仓库,被我发现了tonic。

449b2359345c51ee02f884a78a725579.png

然后去看看一下tonic的github,native的rust实现,async/await支持,star数也是这几个实现中最多的,然后作者也在积极更新中,于是我选择相信libra团队的眼光。

9690a5a5db10e05bd056a138517503b9.png

暂时就先写这么多吧~,刚开始写文章,写的不好的地方请各位多多批评指教~~

引用:

brpc的github​github.com gRPC​grpc.io
79506391563b084cc25481ea58395e6c.png
https://github.com/tikv/grpc-rs​github.com https://github.com/stepancheg/grpc-rust​github.com https://github.com/tower-rs/tower-grpc​github.com https://github.com/tokenio/grpc-actix​github.com hyperium/tonic​github.com
b56d81c6d9285eaa1dd70749fd348c3c.png
使用 tower gRPC​www.jianshu.com
0f2d672b795a03f81b7ca8f4e1d874fb.png
https://www.reddit.com/r/rust/comments/aw1iog/the_state_grpc_rust/​www.reddit.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值