栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

分布式组件之网关Gateway

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

分布式组件之网关Gateway

网关作为流量的入口,常用功能包括路由转发,权限校验,限流控制等。而springcloud Gateway作为SpringCloud官方推出的第二代网关框架,取代了Zuul网关。

Spring Cloud Gateway

主要有三大部分

工作流程如下

 

Example  application.yml

spring:
  cloud:
    gateway:
      routes:
      - id: after_route
        uri: https://example.org
        predicates:
        - After=2017-01-20T17:42:47.789-07:00[America/Denver]

上面的例子就是设置了一个网关断言规则

现在自己创建并测试一下Api网关

首先创建一个网关模块

 pom中添加common模块依赖



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.8.RELEASE
         
    
    com.example.gulimall
    gulimall-gateway
    0.0.1-SNAPSHOT
    gulimall-gateway
    gulimall-gateway
    
        1.8
        Greenwich.SR3
    
    
        
            com.example.gulimall
            gulimall-common
            0.0.1-SNAPSHOT
        
        
            org.springframework.cloud
            spring-cloud-starter-gateway
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    
    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


在nacos中添加配置文件

 

然后在启动类上加上服务注册发现注解@EnableDiscoveryClient

application.properties
spring.cloud.nacos.discovery.server-addr=192.168.159.135:8848
spring.application.name=gulimall-gateway
server.port=88

bootstrap.properties
spring.application.name=gulimall-gateway

spring.cloud.nacos.config.server-addr=192.168.159.135:8848

spring.cloud.nacos.config.namespace=72bcbd7a-be8c-48cf-8584-2eeee5d14664

spring.cloud.nacos.config.group=dev

最后再创建

application.yml
spring:
  cloud:
    gateway:
      routes:
        - id: test_route
          uri: https://www.baidu.com
          predicates:
            - Query=url,baidu
        - id: qq_route
          uri: https://www.qq.com
          predicates:
            - Query=url,qq

 表示如果地址带有url头并且为baidu时,跳转至https://www.baidu.com,qq也一样

测试http://localhost:88/?url=qq

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/943585.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号