Springboot 整合 SpringCloud组件-Gateway 网关服务 (四)

简介: Springboot 整合 SpringCloud组件-Gateway 网关服务 (四)

这篇我将介绍的是网关服务,那么从标题已经知道我们整合的组件时gateway;


也许有人说,为啥不用zuul,这个组件也可以用于做网关。 至于这两组件的性能比较与区别,我们来看一个表格简单了解下:


Gateway与Zuulimage.png

接下来我们开始整合gateway,实现该组件的基础使用:


创建一个springboot项目,起名 gateway:


image.png


(同样,我们这里选用的springcloud版本是:Finchley.RELEASE)

pom.xml里核心的依赖包为:


    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
      <version>2.0.0.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-gateway</artifactId>
      <version>2.0.0.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>


实现基础功能使用,我们可以直接在application.yml进行配置:


server:
  port: 8081
spring:
  application:
    name: test-gateway-service
  cloud:
      gateway:
        discovery:
          locator:
            enabled: false
#开启小写验证,默认feign根据服务名查找都是用的全大写
            lowerCaseServiceId: true
        routes:
        - id: client-test
          uri: lb://CLIENT-TEST
          predicates:
            - Path=/testclient/**
          filters:
            - StripPrefix=1
        - id: service-feign
          uri: lb://FEIGN
          predicates:
            - Path=/service-feign/**
          filters:
            - StripPrefix=1
eureka:
  instance:
    preferIpAddress: true
    instance-id: ${spring.cloud.client.ip-address}:${server.port}
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/


启动类也同样加上 @EnableEurekaClient。


可以看到我们简单配置了2个路由:


路由id为client-test的,


只要是访问路径带有 /testclient的, 都会根据从Eureka注册中心获取的服务信息去寻找储服务名为CLIENT-TEST的服务实例,进行接口转发调用。


路由id为service-feign的,


同理,只要是访问路径带有 /service-feign的, 都会根据从Eureka注册中心获取的服务信息去寻找储服务名为FEIGN的服务实例,进行接口转发调用。



那么我们先把网关gateway服务跑起来,逐一调用接口看看:


image.png 


访问:http://localhost:8081/testclient/haveatry?name=JCccc


image.png


访问: http://localhost:8081/service-feign/feignTest?name=TestMessage


image.png


可以看到通过网关访问,路由转发都是OK的。

相关文章
|
Java API 网络架构
Spring Boot与Spring Cloud Gateway的集成
Spring Boot与Spring Cloud Gateway的集成
|
Java Nacos 开发者
解决Spring Cloud整合Nacos与Gateway的探险之旅
解决Spring Cloud整合Nacos与Gateway的探险之旅
930 0
|
前端开发 Java Spring
猿创征文|Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway at this time.
猿创征文|Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway at this time.
2400 0
猿创征文|Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway at this time.
|
负载均衡 监控 Java
09、SpringCloud之Gateway网关组件学习笔记(一)
09、SpringCloud之Gateway网关组件学习笔记(一)
09、SpringCloud之Gateway网关组件学习笔记(一)
BXA
|
负载均衡 安全 前端开发
Spring Boot和Spring Cloud实现微服务架构下的API网关
为了满足微服务架构下的挑战API网关应运而生。API网关是服务的单一入口,提供了路由、转发、安全性、监测和协议转换等功能。API网关能够管理和保护API接口、统一访问和处理各个微服务的请求,同时能够提高服务的可用性和可靠性。
BXA
1092 0
|
前端开发 Java Nacos
🛡️Spring Boot 3 整合 Spring Cloud Gateway 工程实践
本文介绍了如何使用Spring Cloud Alibaba 2023.0.0.0技术栈构建微服务网关,以应对微服务架构中流量治理与安全管控的复杂性。通过一个包含鉴权服务、文件服务和主服务的项目,详细讲解了网关的整合与功能开发。首先,通过统一路由配置,将所有请求集中到网关进行管理;其次,实现了限流防刷功能,防止恶意刷接口;最后,添加了登录鉴权机制,确保用户身份验证。整个过程结合Nacos注册中心,确保服务注册与配置管理的高效性。通过这些实践,帮助开发者更好地理解和应用微服务网关。
2315 0
🛡️Spring Boot 3 整合 Spring Cloud Gateway 工程实践
|
存储 Java 中间件
Spring Cloud 整合 Nacos 实现服务配置中心 - Spring Cloud Alibaba 系列教程
在之前的文章 [《Nacos 本地单机版部署步骤和使用》](https://www.bysocket.com/2021-12-05/nacos-install-mysql.html) 中,大家应该了解了 Nacos 是什么?其中 Nacos 提供了动态配置服务功能
1633 0
Spring Cloud 整合 Nacos 实现服务配置中心 - Spring Cloud Alibaba 系列教程
|
Java Nacos
SpringBoot 整合 Nacos
上一篇笔者已经介绍怎么安装 Nacos 了,这篇就开始重头戏。 搭建SpringBoot项目。
3032 1
|
监控 Java Nacos
使用Spring Boot集成Nacos
通过上述步骤,Spring Boot应用可以成功集成Nacos,利用Nacos的服务发现和配置管理功能来提升微服务架构的灵活性和可维护性。通过这种集成,开发者可以更高效地管理和部署微服务。
4705 17
|
存储 JSON 负载均衡
Spring Cloud Gateway-ServerWebExchange核心方法与请求或者响应内容的修改(上)
本文编写的时候使用的Spring Cloud Gateway版本为当时最新的版本Greenwich.SR1。
2694 1

热门文章

最新文章

下一篇
开通oss服务