欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 前端技术 > javascript >内容正文

javascript

Spring Cloud Alibaba - 23 Gateway初体验

发布时间:2025/3/21 javascript 47 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Spring Cloud Alibaba - 23 Gateway初体验 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

  • 概述
  • 网关的作用
  • 官网
  • 来个栗子
    • step1 搞依赖
    • step2 搞注解 (gateway没有注解)
    • step3 搞配置
    • 其他工程 & 验证
  • 参数解读
    • spring.cloud.gateway.discovery.locator.enabled
    • spring.cloud.gateway.enabled
  • 转发过程
  • 源码


概述

Spring Cloud Gateway是Spring Cloud官方推出的第二代网关框架,用于取代Zuul网关。

基于Netty,WebFlux . 由于不是Sevlet容器,不能打成war包, 只支持SpringBoot2.X,不支持1.x

基于Netty,WebFlux . 由于不是Sevlet容器,不能打成war包, 只支持SpringBoot2.X,不支持1.x

基于Netty,WebFlux . 由于不是Sevlet容器,不能打成war包, 只支持SpringBoot2.X,不支持1.x

重要的事情说三遍。


网关的作用

网关常见的功能有路由转发、权限校验、限流控制等作用


官网

https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/

来个栗子

创建一个gateWay的工程 artisan-cloud-gateway

step1 搞依赖

<dependencies><!--gateway --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><!--nacos--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-nacos-discovery</artifactId></dependency><!--actuator--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency></dependencies>

step2 搞注解 (gateway没有注解)

写个服务发现的注解(高版本也可以不写),gateway没有注解


step3 搞配置

server:port: 8888#gateway注册到nacos上的服务名称spring:application:name: api-gatewaycloud: #nacosnacos:discovery:server-addr: 1.117.97.88:8848gateway: #gatewaydiscovery:locator:enabled: false # 是否可以通过微服务的名称直接调用接口 【默认值false, 建议保持false】enabled: true # 是否开启服务网关 management:endpoints:web:exposure:include: '*'endpoint:health:show-details: always # 打开端点详情

其他工程 & 验证

分别启动

artisan-cloud-gateway 【8888】

artisan-cloud-gateway-order【8080】

artisan-cloud-gateway-product【8084】

再确认下【artisan-cloud-gateway】的配置文件

通过网关地址 端口为8888访问订单微服务

我们调整下参数,开启拉取nacos配置

重启应用,重新访问

如果我们 禁用网关呢?


重启应用,重新访问


参数解读

spring.cloud.gateway.discovery.locator.enabled

启网关拉取nacos的服务 即是否可以通过微服务的名称直接调用接口 【默认值false, 建议保持false】

开启了,容易暴漏后端服务

spring.cloud.gateway.enabled

网关的开启与关闭 , 需要开启


转发过程

我们简单看下 spring.cloud.gateway.discovery.locator.enabled 设置为true后, 网关是如何处理这些请求的 ,后面再解读源码


源码

https://github.com/yangshangwei/SpringCloudAlibabMaster

总结

以上是生活随笔为你收集整理的Spring Cloud Alibaba - 23 Gateway初体验的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。