• springcloud 整合gateway 网关


    gateway网关

    一、gataway网关是什么?

    Spring Cloud Gateway Spring 公司基于 Spring 5.0 ,Spring Boot 2.0 和 Project Reactor 等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的API 路由管理方式。它的目标是替代 Netflix Zuul ,其不仅提供统一的路由方式,并且基于 Filter 链的方式提供 了网关基本的功能,例如:安全,监控和限流。
    优点:
    •  性能强劲:是第一代网关Zuul的1.6倍
    • 功能强大:内置了很多使用的功能,例如转发、监控、限流等 
    • 设置优雅,容易扩展

    缺点:

    • 实现依赖Netty与WebFlux,不是传统Servlet变成模型,学习成本高
    • 不能将其部署在Tomcat、Jetty等Servlet容器里,不能打包成jar包执行
    • 需要Spring Boot 2.0及以上的版本

    1,使用网关可以统一进行鉴权,如果在微服务系统中不使用网关那么在每一个微服务中都需要进行鉴权,不仅增加系统的复杂性,而且也影响用户体验
    2,使用网关鉴权可以有效的保护微服务,只暴露自己的网关,将其他的微服务可以隐藏在内网中通过防火墙进行保护
    3,易于监控,可以在网关中直接统一收集监控数据并将其推送到外部系统进行分析
    4减少客户端与各个微服务之间的交互次数,vue的路由通过网关进行访问服务端

     

     

      二、使用

    1.依赖

    因为不能使用web,因此我们导入 spring-boot-starter而不是web

    代码如下(示例):

    
        
            org.springframework.boot
            spring-boot-starter
        
        
            org.springframework.cloud
            spring-cloud-starter-gateway
        
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-discovery
        
    
    

    2.配置文件

    server:
      port: 9000
    spring:
      cloud:
        gateway:
          routes:
            - id: baidu  # id 唯一标识
              uri: https://www.baidu.com
              predicates:  #断言
                - Path=/a
              filters:
              #取一层   如果不加 是https://www.baidu.com/a
              #加入=1后 就变成https://www.baidu.com
                - StripPrefix=1
            - id: pre1
              uri: http://127.0.0.1:82
              predicates:
                - Path=/c/**
              filters:
                - StripPrefix=1
            - id: pre1
              uri: lb://nacos-previder  #使用负债均衡  : 服务名称
              predicates:
                - Path=/d/**
              filters:
                - StripPrefix=1
    #              #在上面之前不能访问  Before---在上面之后不能访问
    #              # 时间通过ZonedDateTime.now()获取改一改就行
    #              # Method 方法  设置之能是什么请求能访问  官网有
    #             - After=
          discovery:
            locator:
            #运行网关发现服务并拉取服务 使用lb://服务名称的时候一定要开启这个
              enabled: true
        nacos:
          discovery:
            server-addr: 127.0.0.1:8848
      application:
        name: gateway

    一般我们都是使用 lb://服务的形式

     


     

    总结

    提示:这里对文章进行总结:

    例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

  • 相关阅读:
    系统移植——开发阶段部署
    springboot图书借阅管理系统 java读书心得借书卡管理系统
    流程图高级用法【Markdown进阶篇】
    移远_M25_通话音量_DTMF测试
    推荐 NestJs 官方教程
    将文件名称中空格以左的部分全部删除重命名
    Python小技巧:轻松找到电脑里的隐藏图片!
    【笔记】电商订单数据分析实战
    长沙学院2022暑假训练赛(一) -H
    计算机架构史上的一次伟大失败,多数人都不知道
  • 原文地址:https://blog.csdn.net/weixin_52574640/article/details/126835237