本篇教程我们来讲解gRPC的元数据处理和拦截的中间件
本篇文章,我会介绍一下gRPC常见的语法以及常见的包的调用,让大家快速入门gRPC,以便我们快速对gRPC的语法快速熟悉起来。
GRPC教程 4 - GRPC-Gateway教程与Transcoding
相关信息
GRPC-Gateway是protoc的一个插件,类似protoc-gen-go和protoc-gen-go-grpc插件,前者是生成.pb.go后者是生成.grpc.pb.go文件。
那么这两个插件是帮助proto文件生成go语言的插件,那么GRPC-Gateway呢,它是一个可以根据proto文件的定义生成一个反向代理器的,服务器可以将 RESTful JSON API 转换为 GRPC。
GRPC教程 3- 流式GRPC与错误处理
相关信息
- 解决vscode中,一个目录下多个mod文件的问题,怎么解决呢?
如何 在一个目录下正常的有多个.mod 文件
使用 go work init 命令
本篇文章开始,我们将要开始学习流式GRPC与GRPC的错误处理
流式GRPC
什么是流式GRPC呢?
和之前我们写的普通的RPC服务写入直接返回不同,流式GRPC允许我们在一个RPC请求中建立一个Stream(流),客户端和服务器端都可以向这个流中写入数据,当客户端写入数据时,服务器端只需要不断监听这个流就可以不断获取客户端发送的消息,直到关闭。
GRPC教程 2- gRPC下载以及入门gRPC
相关信息
本篇文章我们开始学习gRPC,我们之前学到了RPC(远程过程调用),那么gRPC是什么呢?gRPC是Google开源的现代高性能RPC框架,能够运行在任何环境中,使用HTTP2作为传输协议。
gRPC与RPC一样,可以像调用本地方法一样去调用另一个进程上的服务,这可以帮助你很轻松的创建微服务程序。gRPC只是定义类型和远程服务带有的参数和返回类型,我们需要在gRPC服务端程序中定义服务的逻辑,在客户端调用和服务器端相同的方法。
GRPC教程 1- Go语言原生RPC原理
相关信息
本篇文章介绍一下RPC的概念以及在Go语言如何使用标准库中的RPC.
RPC是全称叫Remote Procedure Call,远程过程调用,它允许像调用本地服务一样去调用远程服务,相对应的就是本地调用。
本地调用的例子:
package main
import (
"fmt"
"os"
"time"
)
type Args struct {
A int
B int
}
func Add(args *Args) int {
return args.A + args.B
}
func main() {
fmt.Println(os.Getpid())
fmt.Println(Add(&Args{10, 20}))
time.Sleep(100 * time.Second)
}