核心概念

流量入口(Endpoint)

流量入口是由一组域名及域名下的路由规则构成、用于接入特定业务流量的访问入口。

您可进入 微服务治理平台 > 项目列表 > 选择项目 > API 网关 > 流量入口管理 创建流量入口。

核心概念 - 图1

流量入口是隶属于一个项目的某个环境的,这也限制了跨项目共用域名的情况。

集群级别的域名共用

在一些特殊的企业环境中,对域名的管理会特别严格,例如必须要加独立的 DNS 解析,或者在企业自己的 LB 节点上添加域名转发配置。这时,可能需要将一个环境下的所有服务都收敛到同一个域名下。

API 网关提供了针对集群泛域名生成的,四个环境域名,例如对于泛域名”app.terminus.io”,分别是以下域名:

  • gateway.app.terminus.io
  • staging-gateway.app.terminus.io
  • test-gateway.app.terminus.io
  • dev-gateway.app.terminus.io

在 API 网关的流量入口中,默认会有一个特殊的“统一域名入口”,即是用于此场景的:

核心概念 - 图2

查看流量入口的具体路由规则:

核心概念 - 图3

微服务 API(Service API)

微服务暴露出来,允许提供流量入口路由达到的 API

核心概念 - 图4

所有服务默认情况下,都会自动注册一个全部方法,全部路径的API(/路径前缀匹配),这样这个服务的 API 就都可以被暴露出来了。

但对于一些特定的服务来说,这样暴露是不安全的,这时候可以删去这条自动注册的 API,添加上所有必需的 API 即可。

在流量入口中,创建路由规则时,选择转发给微服务的 API 前缀:

核心概念 - 图5

调用方(Consumer)

开放 API 的场景下,需要识别出调用方的角色,从而继续判断其是否有权限调用,并且可以针对调用方分析其调用量等情况

核心概念 - 图6

调用方的核心是凭证信息,在请求中需要携带对应的 Key/Secret 凭证,提供网关进行识别认证

核心概念 - 图7

认证(Authentication/AuthN)

开放 API 的场景下,需要用到网关的认证功能,认证方式就是是识别调用方的方式,网关提供了多种认证方式

核心概念 - 图8

授权(Authorization/AuthZ)

开放 API 的场景下,在调用方认证通过之后,通常需要再检查调用方是否有权限访问这个 API

通过编辑流量入口,为流量入口添加允许访问的调用方:

核心概念 - 图9

也可以为调用方添加允许访问的流量入口:

核心概念 - 图10