SpringCloud-Nacos+Ribbon+Gateway

概述

系统唯一对外的入口,介于客户端和服务端之间的中间层,处理非业务功能,提供路由请求、鉴权、监控、缓存、限流等功能。

统一接入

  1. 智能路由
  2. AB测试、灰度测试
  3. 负责均衡,容灾处理
  4. 日志埋点

流量监控

  1. 限流处理
  2. 服务降级

安全防护

  1. 鉴权处理
  2. 监控
  3. 网络隔离

AlibabaCloud全家桶还没对应的网关,用SpringCloud官方推荐的Gateway。

gateway:
	routes: #数组形式
	  - id: xx-service #路路由唯⼀一标识
		uri: http://127.0.0.1:8000 #想要转发到的地址
		order: 1 #优先级,数字越⼩小优先级越⾼高
		predicates: #断⾔言 配置哪个路路径才转发
		  - Path=/xx-server/**
		filters: #过滤器器,请求在传递过程中通过滤器器修改
		  - StripPrefix=1 #去掉第⼀一层

整合Nacos

spring:
  application:
    name: api-gateway

  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
    gateway:
      routes: #数组形式
        - id: yy-service  #路由唯一标识
          #uri: http://127.0.0.1:8000  #想要转发到的地址
          uri: lb://xx-service  #从nocas进行转发
          order: 1 #优先级,数字越小优先级越高
          predicates: #断言 配置哪个路径才转发
            - Path=/order-server/**
          filters: #过滤器,请求在传递过程中通过过滤器修改
            - StripPrefix=1  #去掉第一层前缀
      discovery:
        locator:
          enabled: true  #开启网关拉取nacos的服务

Gateway配置项

路由

Route,网关基本单元,由ID、URI、一组Predicate、一组Filter

  1. route组成部分
  2. id:路路由的ID
  3. uri:匹配路路由的转发地址
  4. predicates:配置该路路由的断言,通过
  5. PredicateDefinition类进行接收配置。
  6. order:路路由的优先级,数字越小,优先级高。

Predicates

  1. 来源Java8,接受参数返回boolean
  2. 支持Path、Query、Method、Header的匹配规则
  3. 支持多个Predicate请求的转发是必须满足所有的Predicate才能路由转发

网关鉴权

网关不要加太多业务逻辑,否则会影响性能

chain.filter(exchange)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值