grpc有什么用,grpc详解

http://www.itjxue.com  2023-01-09 14:16  来源:未知  点击次数: 

gRPC在C++中的简单使用流程

参考:

????????????

1.gRPC默认使用protocal buffers

2.第一步是在.proto中定义service:service serviceName? {rpc function(){}}

? ? ? ? 有四种类型的方法:

? ? ? ? 1)简单的rpc,就像普通的函数调用一样

? ? ? ? 2)服务端流式rpc:在响应类型前加stream

????????3)客户端流式rpc:在请求类型前加stream

? ? ? ? 4)双向流失rpc:在请求和响应前加stream

3.从 .proto 的服务定义中生成 gRPC 客户端和服务器端的接口:make xx.grpc.pb.cc xx.pb.cc

4.创建服务器:

? ? ? ? 1)实现service定义的生成的服务接口:做服务的实际的“工作”。

????????2)运行一个 gRPC 服务器,监听来自客户端的请求并返回服务的响应。

5.创建客户端:

? ? ? ? 1)创建一个存根

? ? ? ? 2)调用服务的方法

手机grpc通道连接成功什么意思

gRPC协议是一个高性能。

通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(ProtocolBuffers)序列化协议开发,且支持众多开发语言。

本文作者深入研究了gRPC协议,对协议本身作出解构。gRPC是基于HTTP/2协议的,要深刻理解gRPC,理解下HTTP/2是必要的。

这里先简单介绍一下HTTP/2相关的知识,然后再介绍下gRPC是如何基于HTTP/2构建的。

go语言grpc的stream 使用

之前我们讲了 grpc 怎么简单的使用 ,这次讲讲 grpc 中的 stream,srteam 顾名思义 就是 一种 流,可以源源不断的 推送 数据,很适合 传输一些大数据,或者 服务端 和 客户端 长时间 数据交互,比如 客户端 可以向 服务端 订阅 一个数据,服务端 就 可以利用 stream ,源源不断地 推送数据。

其实这个流 已经 基本退化成 tcp了,grpc 底层为我们 分包了,所以真的很方便。

我们在 protobuf 里面 定义 要提供的服务,如果 你想把哪个数据 源源不断的 推送 就在前面加个stream 就好了,定义好记得编译。

知识点:

client 调用 流的函数, 就会 返回一个 流对象,只要 不断地 对它进行读取或者写入,对应方就能收到。

grpc 的 stream 和 go的协程 配合 简直完美。通过流 我们 可以更加 灵活的 实现自己的业务。如 订阅,大数据传输等。

(责任编辑:IT教学网)

更多

推荐其他源码文章