SpringCloud学习--基础--6.5--Gateway--配置

SpringCloud学习–基础–6.5–Gateway–配置


1、配置

spring:
  cloud:
    gateway:
      routes:
        # 路由id,可以任意,要保证唯一
        - id: route-app_ribbon
          # uri: http://127.0.0.1:8883
          # lb表从注册中心中按照名称获取微服务,并遵循负载均衡策略
          uri: lb://app-ribbon
          # 路由断言: 可以匹配映射路径
          predicates:
            - Path=/app_ribbon_route/**
          # 去除前缀/app_ribbon_route
          # 1表示过滤1个路径,2表示两个路径,以此类推
          filters:
            - StripPrefix=1

2、配置说明

2.1、动态路由+负载均衡

uri: lb://app-ribbon
  • 动态路由:lb //A
  • A 是注册中心的服务名
  • 解析过程
    • gateway 使用 LoadBalancerClient服务名A 通过 注册中心 解析为实际的主机和端口,并进行ribbon负载均衡。

2.2、路由前缀处理

2.2.1、添加前缀

在这里插入图片描述

http://127.0.0.1:8887/app_ribbon_route/hello/ ---路由--》http://app-ribbon/user/hello/

2.2.2、去除前缀

在这里插入图片描述

通过StripPrefix=n 来指定了路由要去掉的n个前缀

http://127.0.0.1:8887/app_ribbon_route/hello/ ---路由--》 http://app-ribbon/hello/

3、负载均衡和熔断

3.1、介绍

  1. Gateway中默认集成了Ribbon负载均衡和Hystrix熔断机制。
  2. 所有的超时策略都是走的默认值,比如熔断超时时间只有1S,很容易就触发了。因此建议手动进行配置:

3.2、配置

在这里插入图片描述


hystrix:
  command:
    default:
      execution:
        isolation:
          thread:
            # 服务提供者的超时时间,2秒,如果请求服务提供者超过2秒,就服务降级和线程隔离
            timeoutInMilliseconds: 6000
ribbon:
  ConnectTimeout: 1000 # 连接超时时长
  ReadTimeout: 2000 # 数据通信超时时长
  MaxAutoRetries: 0 # 当前服务器的重试次数
  MaxAutoRetriesNextServer: 0 # 重试多少次服务
  OkToRetryOnAllOperations: false # 是否对所有的请求方式都重试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值