[TOC]

gRPC- HTTP网关 I

gRPC是什么?咱们再来回顾一下

gRPC是 Google开发的基于HTTP/2规范设计的一个通用的,高性能的RPC框架,有如下3个最显著的特点:

  • 反对支流的编程语言,C++,Java,Python,Go,Ruby等,基于ProtoBuf生成相应的服务端和客户端代码。
  • 基于HTTP/2协定,且提供了更强的利用性能 -- 节俭带宽,缩小TCP申请连接数
  • 基于ProtoBuf定义服务,面向接口对服务进行设计

具体的,这篇文章都有介绍到 -- gRPC的介绍

HTTP网关是什么?

分享gRPC 的HTTP网关之前,先来大抵说说 HTTP网关是什么

网关是啥?

网关(Gateway)就是一个网络连接到另一个网络的关口

网关他是一个设施,将两个应用不同传输协定的网络段连贯在一起,网关个别用作网络的入口和进口点,因为所有数据必须在路由之前通过或与网关通信。

网关所有网络都有一个边界,限度与间接连贯到它的设施的通信。如果网络想要与该边界之外的设施,节点或网络通信,则它们须要网关的性能。网关通常被表征为路由器和调制解调器的组合。

HTTP网关那就不难理解,是基于HTTP申请的网络关口

HTTP网关都有哪些嘞?

  • HTTP/* ,服务器端Web网关

例如,客户端在网络上下载资源,客户端通过http协定拜访到web网关,web网关辨认到申请之后,转成ftp协定,申请ftp服务器,进行文件的上传和下载

  • HTTP/HTTPS ,服务器端平安网关

平安网关,应该就能想到加密

网关对所有的输出Web申请加密,以提供额定的隐衷和安全性爱护。哪怕客户端能够用一般的HTTP浏览Web内容,但网关会主动加密用户的对话,保障安全性

  • HTTPS/HTTP客户端平安加速器网关

在HTTP申请前加上HTTPS进行拦挡,保障流量的平安

将HTTPS/HTTP网关作为平安加速器,这些HTTPS/HTTP网关个别是在放Web服务器之前,通常作为不可见的拦挡网关或反向代理应用。它们接管平安的HTTPS解决过的流量,对平安流量进行解密,并向Web服务器发送一般的HTTP申请

也就是说失常状况下,若流量能到web,阐明流量是平安的

  • 其余资源网关

例如拜访某些应用程序的外部数据,这是通过网络连接客户端和服务器的网关。

即网关就在 应用程序对应的服务器上,与客户端通过HTTP / HTTPS进行通信,并与本身服务器端的应用程序相连

gRPC-Gateway

Golang开发程序的时候,个别gRPC对内,用于微服务之间的外部通信,HTTP接口裸露进去,提供给前端,或者是客户端。

咱们的微服务中既要有外部通信的gRPC,又要写对外裸露的HTTP接口,仿佛无形中减少了不少工作量,保护两个版本的服务,这种做法是不是很low。那么有没有一种方法能够将2种形式联合,或者说是简化呢?

当然是有的,gRPC为咱们提供了一个很不便的gRPC-Gateway插件

gRPC-Gateway是什么?

protoc的一个优良的插件

gRPC-Gateway提供了基于proto文件中的服务接口定义生成HTTP的反向代理的能力。对于同一个规范的gRPC服务定义,除了根本的gRPC客户端以外还能生成相应的HTTP JSON的接口实现代码

它能够通过google提供的标准接口google/api/annotations.proto,咱们可能对原有Protobuf服务,形容成其相应的HTTP接口模式

具体是这样的构造

gRPC-Gateway有啥劣势呢?

是啊,咱们写微服务,对内用gRPC,对外用HTTP, 一个服务外面写2套接口,累是累了点,可是 gRPC-Gateway仅仅就是写gRPC服务同时也能够用于HTTP接口吗?

当然不是

应用 gRPC-Gateway的劣势如下

  • 能够放弃Restful的简略性

gRPC-Gateway工具,让咱们能够很疾速的基于proto接口定义,在应用RPC的同时对外提供Restful

应用gRPC的原有Protobuf服务一样能够感触到Restful的简略性,犹如间接写的HTTP接口,简略易用

  • 同时还能够充沛晋升利用外部的性能以及可靠性

这是RPC框架的自身劣势,RPC专为分布式应用的高性能和高生产率设计而设计的

应用gRPC提供HTTP接口有啥注意事项?

  • gRPC提供的HTTP接口是基于HTTP 2.0
  • 别太爽就行

总结

  • 回顾gRPC根本要点
  • HTTP网关的介绍
  • 引出gRPC-gateway,以及其根本构造

好了,本次就到这里,下一次分享gRPC-gateway的理论环境搭建,案例编码,调试技巧,以及成果输入

技术是凋谢的,咱们的心态,更应是凋谢的。拥抱变动,背阴而生,致力向前行。

我是小魔童哪吒,欢送点赞关注珍藏,下次见~