前言 我们通常把RPC用作内部通信,而使用Restful Api进行外部通信。为了避免写两套应用,我们使用grpc-gateway把gRPC转成HTTP。服务接收到HTTP请求后,grpc-gateway把它转成gRPC进行处理,然后以JSON形式返回数据。本篇代码以上篇为基础,最终转成 ...
前言 上篇介绍了gRPC中TLS认证和自定义方法认证,最后还简单介绍了gRPC拦截器的使用。gRPC自身只能设置一个拦截器,所有逻辑都写一起会比较乱。本篇简单介绍go grpc middleware的使用,包括grpc zap grpc auth和grpc recovery。 go grpc middleware简介 go grpc middleware封装了认证 auth , 日志 loggin ...
2020-04-22 10:29 0 5370 推荐指数:
前言 我们通常把RPC用作内部通信,而使用Restful Api进行外部通信。为了避免写两套应用,我们使用grpc-gateway把gRPC转成HTTP。服务接收到HTTP请求后,grpc-gateway把它转成gRPC进行处理,然后以JSON形式返回数据。本篇代码以上篇为基础,最终转成 ...
前言 gRPC默认的请求的超时时间是很长的,当你没有设置请求超时时间时,所有在运行的请求都占用大量资源且可能运行很长的时间,导致服务资源损耗过高,使得后来的请求响应过慢,甚至会引起整个进程崩溃。 为了避免这种情况,我们的服务应该设置超时时间。前面的入门教程提到,当客户端发起请求时候,需要传入 ...
一、安装 官方安装命令: go get -u google.golang.org/grpc 由于google无法访问,虽然github上有grpc的代码,但是包依赖没有修改,所以不能go get安装,需要手动安装。 git clone https://github.com/grpc ...
准备工作: 1. 安装protobuf 编译环境 https://github.com/protocolbuffers/protobuf/releases 2. 安装go语言的protobuf代码转换工具protoc-gen-go go get -u ...
gRPC是什么? gRPC是什么可以用官网的一句话来概括 A high-performance, open-source universal RPC framework 所谓RPC(remote procedure call 远程过程调用)框架实际是提供了一套机制,使得应用程序之间 ...
1、RPC 1.1 什么是RPC RPC(Remote Procedure Call),即远程过程调用,过程就是方法,简单来说,它就是一种能够像调用本地方法一样调用远程计算机进程中的方法的技术,在这种调用中,我们不需要了解任何网络通信的细节(当然,就使用来说) 最终解决的问题:让分布式 ...
前言 上篇介绍了go-grpc-middleware的grpc_zap、grpc_auth和grpc_recovery使用,本篇将介绍grpc_validator,它可以对gRPC数据的输入和输出进行验证。 创建proto文件,添加验证规则 这里使用第三方插件 ...
go笔记--rpc和grpc使用 目录 go笔记--rpc和grpc使用 rpc server.go client.go (sync) client.go (async) grpc ...