【Spring Gateway】 配置

Metadata

title: 【Spring Gateway】 配置
date: 2023-02-14 10:03
tags:
  - 行动阶段/完成
  - 主题场景/组件
  - 笔记空间/KnowladgeSpace/ProgramSpace/ModuleSpace
  - 细化主题/Module/SpringGateway
categories:
  - SpringGateway
keywords:
  - SpringGateway
description: 【Spring Gateway】 配置

【Spring Gateway】 配置

Spring Cloud Gateway的配置是由RouteDefinitionLocator实例的集合驱动的。下面的清单显示了RouteDefinitionLocator接口的定义:

public interface RouteDefinitionLocator {
    Flux<RouteDefinition> getRouteDefinitions();
}

默认情况下,PropertiesRouteDefinitionLocator通过Spring Boot的@ConfigurationProperties机制加载属性。

前面的配置示例都使用了使用位置参数而不是命名参数的快捷符号。下面两个例子是等价的:

spring:
  cloud:
    gateway:
      routes:
      - id: setstatus_route
        uri: https://example.org
        filters:
        - name: SetStatus
          args:
            status: 401
      - id: setstatusshortcut_route
        uri: https://example.org
        filters:
        - SetStatus=401

对于网关的某些用法,属性就足够了,但是一些生产用例受益于从外部源(如数据库)加载配置。未来的里程碑版本将有基于Spring数据存储库(如Redis、MongoDB和Cassandra)的RouteDefinitionLocator实现。

RouteDefinition Metrics

要启用RouteDefinition度量,将spring-boot-starter-actuator添加为项目依赖项。然后,默认情况下,只要属性spring.cloud.gateway.metrics.enabled设置为true,这些指标就可用。一个名为spring.cloud.gateway.routes.count的度量指标将被添加,其值是RouteDefinitions的数量。这个度量可以从/actuator/metrics/spring.cloud.gateway.routes.count中获得。

【Spring Gateway】 Route Metadata Configuration

undefined

【Spring Gateway】 Http timeouts configuration

undefined

【Spring Gateway】 CORS Configuration

undefined

【Spring Gateway】 通用配置属性

undefined