在前面的两篇博客中,我们已经知道了如何利用gRPC建立简单RPC通信。但这样简单的实现有时候满足不了我们的业务需求。在一些场景中我们需要防止数据被劫持,或是一些场景中我们希望客户端与服务器不是简单的一问一答,而是建立起一个流式的RPC通信,那么该怎么做到呢?
Desc:gRPC实现简单通讯,Google 开源 RPC 框架 gRPC 初探
在上一篇中,我们用protobuf定义了两个消息HelloWorldRequest
与HelloWorldResponse
以及一个HelloWorldService
服务。同时,我们还生成了相应的go代码.pb.go
。
那么客户端与服务端怎么去通过这些接口去完成通讯呢?下面我们一起实现一个简单的gRPC通讯。
Desc:protobuf语法介绍,怎么写proto文件,grpc的使用入门
在gRPC官网用了一句话来介绍:“一个高性能、开源的通用RPC框架”,同时介绍了其四大特点:
- 定义简单
- 支持多种编程语言多种平台
- 快速启动和缩放
- 双向流媒体和集成身份验证
或许你经常会思考这样的问题,我用不同的方法实现了同样的效果,哪个会更快?哪个内存消耗更小?这时候你一个简单的基准测试就能解决你的疑惑。