统一网关Gateway

1、网关的作用?

       a,身份认证和权限校验   b,服务路由、负载均衡   c,请求限流

        技术实现:gateway,zuul

        Zuul是基于Servlet的实现,属于阻塞式编程。而SpringCloudGateway则是基于Spring5中提供的WebFlux,属于响应式编程的实现,具备更好的性能。

        ps:阻塞式编程是传统的编程模式,程序进行IO操作时会阻塞当前线程的执行,期间新城无法执行其他任务

                响应式编程是更现代和高效的编程范式,基于异步和事件驱动,允许程序中的不同部分相互通信和协作,无需等待其他操作完成

2、搭建网关服务的步骤:

        网关搭建步骤:
                1.创建项目,引入nacos服务发现和gateway依赖
                2.配置application.yml,包括服务基本信息、nacos地址、路由
        路由配置包括
                1.路由id:路由的唯一标示
                2. 路由目标(uri):路由的目标地址,http代表固定地址,lb代表根据服务名负载均衡

3、PredicateFactory的作用

        读取用户配置的断言规则并解析成对应的判断条件

        其中- Path=/order/** 是对路径进行判断,此外还能对时间等条件作出限制,具体书写可以上官方文档查询

4、GatewayFilter过滤器

        过滤器的作用是什么?
                对路由的请求或响应做加工处理,比如添加请求头

                配置在路由下的过滤器只对当前路由的请求生效
        defaultFilters的作用是什么?
                对所有路由都生效的过滤器

5、全局过滤器GlobalFilter

        和上文Filter中区别在于能进行更复杂的逻辑,乃至访问请求中的参数

        全局过滤器的作用是什么?

                对所有路由都生效的过滤器,并且可以自定义处理逻辑
        实现全局过滤器的步骤?
                实现GlobalFilter接口
                添加@Order注解或实现Ordered接口
                编写处理逻辑

        

6、过滤器执行顺序

        路由过滤器、defaultFilter、全局过滤器的执行顺序?

                order值越小,优先级越高
               当order值一样时,顺序是defaultFilter最先,然后是局部的路由过滤器,最后是全局过滤器。其中,路由过滤器和defaultFilter的order由Spring指定,默认是按照声明顺序从1递增。

6、跨域问题处理

        跨域:域名不一致就是跨域,主要包括:

        域名不同:www.taobao.com和www.taobao.org 和 www,jd.com 和 miaosha.jd.com

        域名相同,端口不同:localhost:8080和localhost8081

        跨域问题:浏览器禁止请求的发起者与服务端发生跨域ajax请求,请求被浏览器拦截的问题

        解决方案:CORS

        CORS跨域要配置的参数包括哪几个?
        允许哪些域名跨域?
        允许哪些请求头?
        允许哪些请求方式?
        是否允许使用cookie?
        有效期是多久?

        

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值