下一代云原生网关Gloo之架构赏析

Gloo聚合后端服务并为客户端提供端到端的功能转换,从而允许与后端API分离。客户端向在Gloo上定义的路由发出请求或发出事件。 这些路由
通过Gloo的配置(由Gloo的API的客户端提供)在上游服务起作用。

Gloo在客户端定义的路由和后端功能之间执行必要的转换,能够
通过其可扩展的插件接口支持各种上游功能。

Gloo在所有功能上均提供一流的API管理功能:

  • 超时
  • 指标和追踪
  • 健康检查
  • 重试
  • 高级负载平衡
  • 具有SNI支持的TLS终止
  • HTTP标头修改

一、Gloo组件

从最基本的意义上讲,Gloo是转换引擎,Envoy xDS服务器为Envoy提供高级配置(包括Gloo的自定义Envoy过滤器)。 Gloo遵循基于事件的体系结构,监视各
种配置源以进行更新,并立即通过v2 版本的gRPC接口更新Envoy配置。

架构图

Config Watcher

在介绍gRPC之前,我们将探讨一些常用的方法来实现负载平衡。

Secret Watcher

Endpoint Discovery

Translator

Reporter

xDS Server


二、Discovery架构

一组可选的发现服务支持Gloo,它们会自动发现和配置Gloo上游和功能,简化了用户和自助服务的路由。

Discovery架构

发现服务充当自动化的Gloo客户端,自动使用上游和功能填充存储层以便于用户轻松路由。 发现是可选的,但是启用后,它将尝试发现可用上游和功能。

当前支持平台:

  • Kubernetes Service-Based Upstream Discovery
  • AWS Lambda-Based Function Discovery
  • Google Cloud Function-Based Function Discovery
  • OpenAPI-Based Function Discovery
  • Istio-Based Route Rule Discovery (Experimental)

参考资料