摘要:
gRPC转换HTTP 一、前言 我们通常把RPC用作内部通信,而使用Restful Api进行外部通信。为了避免写两套应用,我们使用grpc-gateway把gRPC转成HTTP。服务接收到HTTP请求后,grpc-gateway把它转成gRPC进行处理,然后以JSON形式返回数据。本篇代码以上篇为 阅读全文
摘要:
proto数据验证 一、前言 上篇介绍了go-grpc-middleware的grpc_zap、grpc_auth和grpc_recovery使用,本篇将介绍grpc_validator,它可以对gRPC数据的输入和输出进行验证。https://github.com/envoyproxy/proto 阅读全文
摘要:
grpc-自定义token认证 一、前言 前面篇章的gRPC都是明文传输的,容易被篡改数据。本章将介绍如何为gRPC添加安全机制,Token认证。 官方grpc-eg 源码 二、新建proto文件 主要是定义我们服务的方法以及数据格式,创建simple.proto文件。 1.定义发送消息的信息 me 阅读全文
摘要:
grpc-middleware使用 一、前言 上篇介绍了gRPC中TLS认证和自定义方法认证,最后还简单介绍了gRPC拦截器的使用。gRPC自身只能设置一个拦截器,所有逻辑都写一起会比较乱。本篇简单介绍go-grpc-middleware的使用,包括grpc_zap、grpc_auth和grpc_r 阅读全文
摘要:
Go gRPC-超时设置 一、前言 gRPC默认的请求的超时时间是很长的,当你没有设置请求超时时间时,所有在运行的请求都占用大量资源且可能运行很长的时间,导致服务资源损耗过高,使得后来的请求响应过慢,甚至会引起整个进程崩溃。 为了避免这种情况,我们的服务应该设置超时时间。前面的提到,当客户端发起请求 阅读全文
摘要:
grpc-tts证书认证 一、前言 前面篇章的gRPC都是明文传输的,容易被篡改数据。本章将介绍如何为gRPC添加安全机制,包括TLS证书认证和Token认证。 二、TLS证书认证 什么是TLS TLS(Transport Layer Security,安全传输层),TLS是建立在传输层TCP协议之 阅读全文
摘要:
Go gRPC教程-双向流式RPC 一、前言 上一篇介绍了客户端流式RPC,客户端不断的向服务端发送数据流,在发送结束或流关闭后,由服务端返回一个响应。本篇将介绍双向流式RPC。 双向流式RPC:客户端和服务端双方使用读写流去发送一个消息序列,两个流独立操作,双方可以同时发送和同时接收。 情景模拟: 阅读全文
摘要:
Go gRPC教程-客户端流式gRPC 一、前言 上一篇介绍了服务端流式RPC,客户端发送请求到服务器,拿到一个流去读取返回的消息序列。 客户端读取返回的流的数据。本篇将介绍客户端流式RPC。 客户端流式RPC:与服务端流式RPC相反,客户端不断的向服务端发送数据流,而在发送结束后,由服务端返回一个 阅读全文
摘要:
服务端流式RPC 一、前言 当数据量大或者需要不断传输数据时候,我们应该使用流式RPC,它允许我们边处理边传输数据。本篇先介绍服务端流式RPC。 服务端流式RPC:客户端发送请求到服务器,拿到一个流去读取返回的消息序列。 客户端读取返回的流,直到里面没有任何消息。 情景模拟:实时获取股票走势。 1. 阅读全文
摘要:
grpc简单应用 一、gRPC主要有4种模式 gRPC主要有4种请求和响应模式,分别是简单模式(Simple RPC)、服务端流式(Server-side streaming RPC)、客户端流式(Client-side streaming RPC)、和双向流式(Bidirectional stre 阅读全文