Sign inSign up

guerlab/guerlab-cloud-gateway

By guerlab

Updated over 4 years ago

基于Spring Cloud Gateway提供扩展支持,增加了调用耗时、路径保护、版本控制、sentinel限流集成

Image
1

1.1K

guerlab/guerlab-cloud-gateway repository overview

Guerlab Cloud Gateway


maven依赖最新版本:
docker镜像最新版本:

基于Spring Cloud Gateway提供扩展支持,增加了调用耗时、路径保护、负载均衡增强、sentinel限流集成

注册中心与配置中心

  • 注册中心: nacos
  • 配置中心: nacos

扩展模块

1 调用耗时

启用后记录每一次请求的方法、路径、耗时

1.1 增加配置
spring:
  cloud:
    gateway:
      logger:
        enable-record-request-time: true ##使用启用调用耗时记录
1.2 设置日志级别
logger:
  level:
    net.guerlab.cloud.gateway.logger: DEBUG ##日志级别需要调整为DEBUG才会打印日志
2 端口保护

启用后根据匹配规则进行路径过滤,对满足保护要求的请求将在网关处直接进行拦截,避免后端服务api的访问暴露

2.1 配置内容
spring:
  cloud:
    gateway:
      protect:
        enable: true ##是否启用路径保护
        release-header-name: RELEASE-HEADER-NAME ##放行请求头,注意大小写匹配
        release-header-value: RELEASE-HEADER-VALUE ##放行请求头值,注意大小写匹配
        urls:
          - method: POST ##请求方法
            path: /**/aoo/** ##待保护的路径,使用ant风格进行匹配
3 负载均衡增强
3.1 配置内容
spring:
  cloud:
    loadbalancer:
      allow-rule-reduce: true ##是否允许规则降级.当允许的时候规则处理返回了空或空集合的时,使用规则处理链返回上一个有效集合.
      no-match-return-empty: false ##未匹配的时候返回空可用服务集合
      policy: roundRobin ##负载均衡选择策略,目前仅支持轮训(roundRobin)/加权随机(randomWithWeight)/随机(random)
      cluster-same:
        enable: true ##相同集群匹配
        order: 0 ##优先级
      version-control:
        enable: true ##是否启用版本控制匹配
        order: 0 ##优先级
        request-key: version ##请求头关键字
        metadata-key: request-version-control ##服务元信息关键字
版本控制元信息数据格式

具体匹配信息可参考 WIKI 或 测试类 VersionCompareUtilsTest

Tag summary

Content type

Image

Digest

Size

226.7 MB

Last updated

about 5 years ago

docker pull guerlab/guerlab-cloud-gateway