[系列] Go gRPC Hello World】的更多相关文章

Go gRPC 学习系列: 跟我一起学Go系列:gRPC 入门必备 第一篇内容我们已经基本了解到 gRPC 如何使用 .对应的三种流模式.现在已经可以让服务端和客户端互相发送消息.本篇仍然讲解功能性的使用说明:如何使用拦截器.使用过 Java 的同学知道 Spring 或者 Dubbo,这两个框架都提供了拦截器的支持,拦截器的作用无需多言,鉴权,Tracing,数据统计等等. 在 gRPC 中拦截器的实现会稍微有所不同,原因在于 gRPC 多了一种流式数据传输模式.所以这种拦截器的处理也变得相对…
目录 概述 写一个 gRPC API grpcui 使用 go-gin-api 系列文章 概述 最近这段时间工作挺忙的,发现已经 3 周没更文了... 感谢你们还在,今天给大家分享一款 gRPC 的调试工具. 进入正题. 当我们在写 HTTP 接口的时候,使用的是 Postman 进行接口调试,那么在写 gRPC 接口的时候,有没有类似于 Postman 的调试工具呢? 这是有的. 咱们一起看下 grpcui,源码地址: https://github.com/fullstorydev/grpcu…
目录 概述 四类服务方法 安装 写个 Hello World 服务 推荐阅读 概述 开始 gRPC 了,这篇文章学习使用 gRPC,输出一个 Hello World. 用 Go 实现 gRPC 的服务端. 用 Go 实现 gRPC 的客户端. gRPC 支持 4 类服务方法,咱们这次实现 单项 RPC 和 服务端流式 RPC. 四类服务方法 单项 RPC 服务端发送一个请求给服务端,从服务端获取一个应答,就像一次普通的函数调用. rpc SayHello(HelloRequest) return…
btcwallet对外服务 btcwallet除了像btcd对外提供rpc服务以外,还提供了grpc服务,同时grpc采用的是protobuf来实现. 这方便与不同语言进行交互,降低客户端代码编写量. 阅读这个模块,顺便了解一下proto的使用,更详细的细节问题. Service分类 总共有三种Service,分别是VersionService,WalletService和WalletLoaderService, 从中可以看出 VersionService 只是提供版本查询服务,为什么会做成一个…
1. 前言 2. gRPC与Protobuf简介 3. 安装 4. 中间文件演示 4.1 编写中间文件 4.2 运行protoc命令编译成go中间文件 5. 创建gRPC服务端 5.1 新建Product.protoc 5.2 运行protoc命令 5.3 实现RegisterProdServiceServer接口 5.4 准备工作完成,创建main函数将服务端跑起来 6. 创建gRPC客户端 6.1 拷贝Product.pb.go到客户端service文件夹下 6.2 编写client的mai…
RPC 的定义这里就不再说,看文章的同学都是成熟的开发.gRPC 是 Google 开源的高性能跨语言的 RPC 方案,该框架的作者 Louis Ryan 阐述了设计这款框架的动机,有兴趣的同学可以看看: gRPC的动机和设计原则 . 另一个值得一提的问题是,众所周知 RPC 框架基本都是直接基于 TCP 协议自研数据结构和编解码方式,但是 gRPC 却完全不是这样,它使用 HTTP/2 协议来传输数据.基于这一点来说, yRPC 肯定就不是性能最佳的那一款 RPC 框架.但是在不追求顶格 QP…
gRPC 在多个 GoRoutine 之间传递数据使用的是 Go SDK 提供的 Context 包.关于 Context 的使用可以看我之前的一篇文章:Context 使用. 但是 Context 的使用场景是同一个进程内,gRPC 使用都是跨进程的网络传输,如果在某个调用链上 A 服务当前要调用 B 服务传递一些上下文参数并且也希望 B 服务继续往下传递该如何实现呢? 跨进程的全局数据传输 再次回忆一下 gRPC 是基于 HTTP/2 协议的.那我们是不是可以再请求头中将这一部分数据 set…
1. 前言 2. 生成自签证书 2.1 MAC生成自签证书的教程链接: 2.2 Windows生成自签证书的教程 3. 改造服务端使用自签证书 3.1 复制证书至代码下 3.2 改造代码添加证书认证 3.1 运行代码并查看客户端的访问错误 4. 改造客户端代码(单向认证) 4.1 复制公钥给客户端 4.2 改造客户端代码 4.3 运行客户端查看结果 1. 前言 前情回顾 go语言gRPC系列(一) - gRPC入门 之前我们演示的客户端和服务端之间是没有使用证书的,不是很安全.下面演示一下,服务…
Go gRPC 系列: 跟我一起学Go系列:gRPC 拦截器使用 跟我一起学Go系列:gRPC 入门必备 第一篇入门说过 gRPC 底层是基于 HTTP/2 协议的,HTTP 本身不带任何加密传输功能,基于 SSL 的 HTTPS 协议才是加密传输.gRPC 使用了 HTTP/2 协议但是并未使用 HTTPS,即少了加密传输的部分. 对于加密传输的部分 gRPC 将它抽出来作为一个组件,可以由用户自由选择.gRPC 内默认提供了两种 内置的认证方式: 基于 CA 证书的 SSL/TLS 认证方式…
Go gRPC 系列: 跟我一起学Go系列:gRPC安全认证机制-SSL/TLS认证 跟我一起学 Go 系列:gRPC 拦截器使用 跟我一起学 Go 系列:gRPC 入门必备 接上一篇继续讲 gRPC 认证,本篇内容主要是 Token 认证和自定义认证方式的使用. 说 Token 认证就不得不提 Session.做 Web 端开发的同学应该都了解 Session 和 Token 机制. Token 校验 基于 Session 的身份校验机制 Session 一般由服务端存储,用户通过用户名和密码…