概述

最近更新时间: 2024-10-17 17:10:00

微服务网关作为后台架构的入口,提供路由转发、API 管理、访问过滤器等作用,是微服务架构中的重要组件。TSF 中的微服务网关基于 Spring Cloud 中的 Zuul 和 Spring Cloud Gateway 实现,提供了符合微服务体系的灵活可自定义的网关功能。

微服务网关的主要功能

  • 请求转发 请求转发是微服务网关的基本功能。TSF 中的微服务网关可以通过页面配置灵活管理需要被转发请求的微服务 API。微服务网关会及时从注册中心感知后端服务节点健康状况,保证在后端服务节点变动情况下请求不中断。

  • API 管理 微服务网关集中管理了所有需要对外暴露的 API,帮助用户进行 API 的生命周期管理。

  • API 治理 支持 API 级别的限流、路由等能力,支持用户绑定系统插件或自定义插件。

典型使用场景

  • 提供对外暴露 API 的统一入口

  • 穿透命名空间隔离,实现 set 化部署

  • 协议转换

  • 灰度发布入口

  • 自定义统一入口处理逻辑

功能优势

支持完整的服务治理能力

TSF 中的微服务网关形态等同一个普通的应用,也需要用户创建应用(选择”微服务网关类型“应用),进行部署、发布。部署成功且注册到注册中心后也可以在服务治理页面看到微服务网关服务。

微服务网关可以通过服务注册发现感知后端微服务状态,当后端微服务某节点下线时,网关流量不会打到该节点上。

微服务网关支持 TSF 提供的完整的服务治理能力,包含服务路由、服务鉴权、服务限流、监控、调用链、全链路灰度发布、应用配置等。

支持灵活定制

微服务网关作为业务层网关,通常需要承担部分相对通用的业务逻辑。由于这部分业务逻辑有很强的业务属性(如请求去重、特殊的鉴权逻辑等),我们提供了微服务网关 SDK,方便用户进行定制化开发。依赖微服务网关 SDK 后,网关的页面功能依然可用。

当用户只需要使用我们页面上提供的微服务网关能力时(如请求转发、监控、密钥对鉴权、第三方鉴权、请求参数转 tag 等),可以直接下载并部署微服务网关 Demo 程序包,不需要额外改动。

贴近开源

提供基于 Zuul 以及 Spring Cloud Gateway 两种选型的微服务网关。

支持灵活扩缩容

由于微服务网关本质也是一个微服务,用户可以通过手动或配置弹性伸缩规则的方式对网关进行横向扩展。

微服务网关开源对比优势

相比开源的微服务网关,TSF 中的微服务网关有以下使用优势:

对比项 TSF 微服务网关 开源微服务网关
API 管控 支持页面化 API 管理能力。自动获取微服务 API 无需手动录入。 API 需要手动录入到配置文件中,无法灵活调整。
可观测性 强,支持查看API各个维度监控指标,快速定位问题。 弱,需要配合其他监控组件。
服务与 API 治理 支持 API 限流、熔断、灰度等一系列服务与 API 治理能力。与 TSF 中提供的治理能力全面兼容,可实现全链路灰度发布等高级能力。 弱,需要用户通过插件自行开发。
插件 多。提供鉴权、小程序开发等一系列系统插件。同时支持自定义开发插件。 仅支持自定义开发。
使用场景 支持全链路灰度发布、单元化部署、set 化部署、高可用部署等多种复杂场景。 仅支持有限复杂场景。