微服务5:springboot整合gateway

1、环境/工具

  • Spring Boot 2.6.13
  • Spring Cloud Gateway

Spring Cloud Gateway 官网中文文档:
https://www.springcloud.cc/spring-cloud-greenwich.html#gateway-starter
主要用来做大规模API管理,包括请求限流、过滤、鉴权等,比Zuul网络性能好。

2、原理

image.png
image.png

一次请求首先到达网关,判断是否满足predicates条件,满足则进行路由过滤,最后到达指定服务

3、步骤

可以新建一个微服务moudule, 引入依赖:
引入openFeign和loadbalancer 保证可以访问其他微服务。

        <dependency>
            <groupId>org.springframework.cloud</groupId>
           <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-loadbalancer</artifactId>
        </dependency>

添加注册发现注解

image.png

application.yml

image.png

启动应用可以看到gateway使用网络性能更好的netty作为服务器,不是tomcat


image.png

验证:可以看到跳转到指定的路径

image.png

4. 注意事项

  • predicates 做路径重写时存在优先级,更精确的一般放前面,如 /api/login/** 应该配置在/api/** 的前面

附:简单实践(负载均衡、API管理)

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容