云原生API网关支持对API和接口级进行添加策略和配置插件,提高API和接口的安全性、性能和可维护性。
策略配置修改后即时生效,无需重新发布。
API级策略的插件配置默认应用于接口级。
接口不允许删除API级策略,支持接口级的策略覆盖API级策略。
操作步骤
云原生API网关提供了实例内和实例外两种添加API策略的方式:
实例外API
登录云原生API网关控制台。左侧导航栏选择API,并在顶部菜单栏选择地域。
单击目标API,您可以在下拉框中选择需要添加策略的实例。
实例内API
登录云原生API网关控制台。左侧导航栏选择实例,并在顶部菜单栏选择地域。
在实例页面,单击目标网关实例ID。左侧导航栏选择API,单击目标API。
您可以进行API级或接口级策略&插件配置:
API级:单击API策略配置页签,针对全部接口进行API级策略&插件配置,然后单击启用策略/插件。
接口级:在接口列表页签单击目标接口,单击策略配置页签,然后单击启用策略/插件。
策略配置
限流策略
云原生API网关支持在API和接口级别上实施限流策略,有效防止外部请求超过后端服务的承载能力并避免级联雪崩的发生。在高并发场景下,限流通过阻止部分请求来确保后端服务始终可用。使您能够精准控制每个API和接口在指定时间周期内的请求数量,不超过预设的阈值。
限流策略包含并发控制、流量控制和熔断策略。
并发控制策略:并发规则的原理是统计当前网关处理中的请求数之和,当指标达到设定的阈值时立即拦截流量,可配置为后端服务的最大并发处理请求数,实现在高并发下的后端服务可用性保护。
流量控制策略:流控规则的原理是监控API和接口的QPS指标,当指标达到设定的阈值时立即拦截流量,避免后端服务被瞬时的流量高峰冲垮,从而保障高可用性。
熔断策略:熔断规则的原理是监控API和接口的响应时间或异常比例,当达到指定的阈值时立即降低依赖优先级。在指定的时间内,系统不会调用该不稳定的资源,避免后端服务受到影响,从而保障后端的高可用性。当指定时间过后,再重新恢复对该资源的调用。
重写策略
通过配置重写策略,您可以在将请求转发至目标后端服务之前灵活地修改请求路径和主机域,以满足特定业务环境和架构的需求。重写策略能够精确控制请求的路径和主机域,从而确保请求被正确API和接口到合适的服务或端点。
Header修改策略
在将请求转发至目标后端服务之前,或在后端服务的响应返回给客户端之前,Header设置功能允许您修改原始请求中的头信息。
跨域资源共享策略
跨域资源共享(CORS,Cross-Origin Resource Sharing)是一项重要的安全策略,允许Web应用服务器进行跨域访问控制,从而实现安全的数据传输。云原生API网关支持在API和接口级别配置跨域策略,您可以根据实际需求,限定允许访问资源的域名和请求方法。
跨域对于Mock服务不生效,请配置一个真实的后端测试服务。
流量复制策略
流量复制策略可以将线上应用流量复制到指定服务。这一功能为系统的仿真测试和问题定位提供了支持,帮助您有效评估应用性能和进行故障排查。
超时策略
云原生API网关提供API和接口级别的超时设置,您可以按需为指定API和接口配置网关等待请求响应结果的最大时间。如果网关在设定的时间内未收到后端服务的响应,将向客户端返回一个 HTTP 状态码为 504(Gateway Timeout)的响应结果。
重试策略
云原生API网关提供API和接口级别的重试设置,可以对出错的请求进行自动重试。您可以根据需求配置重试条件,例如在连接失败、后端服务不可用,或者接收到指定的HTTP状态码时触发请求重试。
插件配置
单击添加插件页签。
在快捷导航处,选择要安装的插件类型或者搜索插件名称,单击插件卡片:
如果插件未安装,在安装插件的弹出框中单击安装并配置,在启用插件的弹框中配置插件规则,并选择启用状态。
如果插件已安装,在启用插件的弹框中,配置插件规则,并选择启用状态。
单击确定,返回API的挂载列表,可以看到接口的插件挂载情况和启用状态。