GoLang技术栈
文章平均质量分 60
Go相关知识点
JasonHome
Welcome To Jason’s World
展开
-
Go在Linux环境下的安装与配置
GoLang在Linux环境下的搭建版本说明:Go:1.17.1Linux:Centos7使用安装包进行安装# 下载安装包wget https://golang.google.cn/dl/go1.17.1.linux-amd64.tar.gz# 将下载的包解压到 /usr/local目录下tar -zxf go1.17.1.linux-amd64.tar.gz -C /usr/local# 将 /usr/local/go/bin 添加到环境变量vim /etc/profile#原创 2022-01-21 15:12:40 · 905 阅读 · 0 评论 -
grpc验证器的使用(protoc-gen-validate)
1、grpc验证器扩展包protoc-gen-validate Github地址:https://github.com/envoyproxy/protoc-gen-validate注意:This project is currently in alpha. The API should be considered unstable and likely to change2、安装与配置2.1 linux安装# fetches this repo into $GOPATHgo get -d g原创 2021-12-13 18:15:15 · 2311 阅读 · 0 评论 -
grpc拦截器使用(Go)
推荐一款比较好用的拦截器:go-grpc-middlewareServer端拦截器的使用package mainimport ( "context" "demo/grpc_interpretor/proto" "fmt" "google.golang.org/grpc" "net")type Server struct {}func (s *Server) SayHello(ctx context.Context, r *proto.HelloRequest) (*prot.原创 2021-12-13 10:42:16 · 535 阅读 · 0 评论 -
Go控制grpc的metadata
1、简介gRPC让我们可以向本地调用一样实现远程调用,对于每一次的rpc调用,都可能会有一些有用的数据,而这些数据就可以通过metadata来传递。metadata是以key-value的形式存储数据的,其中key是string类型,而value是[]string,即一个字符串切片类型。metadata使得client和server能够为对方提供关于本次调用的一些信息,就行一次http请求的RequestHeader和ResponseHeaader一样。http中header的声明周期是一次http请求,原创 2021-12-12 22:04:29 · 619 阅读 · 0 评论 -
gRPC的四种数据流
1、简介srteam 顾名思义就是一种流,可以源源不断的推送数据,很适合传输一些大数据,或者服务端和客户端长时间数据交互,比如客户端可以向服务端订阅一个数据,服务端就可以利用stream ,源源不断地推送数据。2、四种流模式2.1 简单模式(Simple RPC)这种模式最为传统,即客户端发起一次请求,服务端响应一个数据,这和大家平时熟悉的RPC没有什么大的区别,所以不再详细介绍。2.2 服务端数据流模式(Server-side streaming RPC)这种模式是客户端发起一次请求,服务原创 2021-12-10 16:35:24 · 2836 阅读 · 0 评论 -
go下的grpc和protocol buffer体验
1、grpc简介Github地址: https://github.com/grpc/grpcgRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go。其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支持。2、protocol buffer简介Protocol Buffer 其实是Go原创 2021-12-10 10:03:23 · 170 阅读 · 0 评论 -
GoLang下的rpc开发
GoLang下的rpc开发Python下的rpc开发可阅读我的另一篇文章:Python下的rpc开发1、Go语言的rpc之hello worldGo语言的rpc包的是建立在net包基础之上的(内置)。基于TCP协议1.1 服务端server.gopackage mainimport ( "net" "net/rpc")type HelloService struct{}func (h *HelloService) Hello(request string, reply原创 2021-12-09 16:49:33 · 296 阅读 · 0 评论