gRPC基础教程总结

简介: gRPC基础教程总结

gRPC基础教程总结

七篇阅读日记写完了,做个总结

从protocol buffers开始

基础教程的 .proto 文件routeguide/route_gudie.proto

protocol buffer除了定义好了消息中字段序列化的方式,还定义了服务双方的通信接口。

生成客户端和服务端的代码

除了在 .proto 文件中定义好上述内容后,还需要使用protoc工具编译,使用:

$ protoc --go_out=. --go_opt=paths=source_relative \
    --go-grpc_out=. --go-grpc_opt=paths=source_relative \
    routeguide/route_guide.proto

生成两个文件,简而言之

  • route_guide.pb.go: 生成了 proto 文件中定义的消息的结构体,相关填充,序列化方法
  • route_guide_grpc.pb.go: 则是面向服务,定义了RPC服务需要实现的接口,还有一个重要的是,有一个客户端存根

type routeGuideClient struct {
    cc grpc.ClientConnInterface
}
func NewRouteGuideClient(cc grpc.ClientConnInterface) RouteGuideClient {
    return &routeGuideClient{cc}

这个在后续实现客户端的时候,创建client时需要使用

服务端和客户端的实现

这方面在以前阅读笔记已经详细的解读过了,如何实现,比如,客户端在处理Server-side流式请求,和服务端处理Client-side流式请求的实现上是有相似的地方的,都是在读到io.EOF的时候证明请求消息的读取,或是响应消息的读取已经完成了。

.proto 定义的rpc方法都需要实现。

外加经常重复的一句话就是,流式接口的请求喝接收,消息都是有顺序的,但客户端,喝服务端可以不按照消息顺序来处理(那这么说的话,也要按顺序返回吧)


相关文章
|
数据可视化 大数据 数据挖掘
阿里云大数据ACA及ACP复习题(81~90)
本人备考阿里云大数据考试时自行收集准备的题库,纯手工整理的,能够覆盖到今年7月份,应该是目前最新的,发成文章希望大家能一起学习,不要花冤枉钱去买题库背了,也希望大家能够顺利通关ACA和ACP考试。
|
C语言 Windows
Qt 应用程序打包成安装文件
Qt 应用程序打包成安装文件
323 0
|
存储 缓存 安全
一文讲透认证授权的那些事
权限管理一直都是初级程序员学习的一大重点,也是一大难点,有单点登录,有联合登录,有session有Token,有各种权限框架,还有什么是RBAC,以及分布式下如何做权限管理。
1174 0
|
存储 Kubernetes 持续交付
Docker 核心概念深度解析:探索容器、镜像和仓库在Docker生态系统中的重要作用和 应用
Docker 核心概念深度解析:探索容器、镜像和仓库在Docker生态系统中的重要作用和 应用
1281 0
|
SQL 关系型数据库 数据库
pgAdmin4如何查看当前的scheme默认是哪个
pgAdmin4如何查看当前的scheme默认是哪个
359 4
|
API C# 图形学
程序技术好文:深入理解xLua热更新原理
程序技术好文:深入理解xLua热更新原理
754 0
|
存储 C++ Windows
眼前一亮!2款免费手绘风流程图绘制工具
“这种风格的流程图好漂亮啊,请问是用什么工具画的啊?”
眼前一亮!2款免费手绘风流程图绘制工具
|
存储 数据采集 Kubernetes
文件存储CPFS最佳实践-轻舟智航
通过与阿里云建立合作,轻舟智航可以更加专注地进行业务场景研发。轻舟智航通过使用阿里云CPFS和OSS数据流动解决方案,打造一体化的自动驾驶数据底座,并且依托CPFS的高性能和高吞吐,很好地支持轻舟智航业务的快速增长。
1155 2
文件存储CPFS最佳实践-轻舟智航
|
人工智能 自然语言处理 监控
谈谈人工智能客服指标
我们经常收到业务询问,智能客服的评估标准是什么。这是一个非常难以回答的问题,因为我们需要证明使用智能客服的合理性并确保使用智能客服将为企业带来怎样的效益。 尽管智能客服解决方案没有“真正的”评估标准,在这里我列举一些案例,希望能帮助大家从这些案例中能给你一些提示。
512 0
|
监控 应用服务中间件 测试技术
k8s--deployment 控制器、版本回退、金丝雀发布
k8s--deployment 控制器、版本回退、金丝雀发布