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的。

相关文章
|
2月前
|
安全 5G 网络性能优化
|
3月前
|
监控 负载均衡 安全
微服务(五)-服务网关zuul(一)
微服务(五)-服务网关zuul(一)
|
2天前
|
NoSQL 前端开发 测试技术
👀探秘微服务:从零开启网关 SSO 服务搭建之旅
单点登录(Single Sign-On,简称SSO)是一种认证机制,它允许用户只需一次登录就可以访问多个应用程序或系统。本文结合网关和SaToken快速搭建可用的Session管理服务。
25 8
|
1月前
|
负载均衡 Java 应用服务中间件
Gateway服务网关
Gateway服务网关
52 1
Gateway服务网关
|
22天前
|
负载均衡 Java API
项目中用的网关Gateway及SpringCloud
Spring Cloud Gateway 是一个功能强大、灵活易用的API网关解决方案。通过配置路由、过滤器、熔断器和限流等功能,可以有效地管理和保护微服务。本文详细介绍了Spring Cloud Gateway的基本概念、配置方法和实际应用,希望能帮助开发者更好地理解和使用这一工具。通过合理使用Spring Cloud Gateway,可以显著提升微服务架构的健壮性和可维护性。
28 0
|
2月前
|
前端开发 Java API
vertx学习总结5之回调函数及其限制,如网关/边缘服务示例所示未来和承诺——链接异步操作的简单模型响应式扩展——一个更强大的模型,特别适合组合异步事件流Kotlin协程
本文是Vert.x学习系列的第五部分,讨论了回调函数的限制、Future和Promise在异步操作中的应用、响应式扩展以及Kotlin协程,并通过示例代码展示了如何在Vert.x中使用这些异步编程模式。
55 5
vertx学习总结5之回调函数及其限制,如网关/边缘服务示例所示未来和承诺——链接异步操作的简单模型响应式扩展——一个更强大的模型,特别适合组合异步事件流Kotlin协程
|
2月前
|
XML Java 数据格式
如何使用 Spring Cloud 实现网关
如何使用 Spring Cloud 实现网关
49 3
|
3月前
|
SpringCloudAlibaba JavaScript 前端开发
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
分布式组件、nacos注册配置中心、openfegin远程调用、网关gateway、ES6脚本语言规范、vue、elementUI
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
|
3月前
|
负载均衡 Java 网络架构
实现微服务网关:Zuul与Spring Cloud Gateway的比较分析
实现微服务网关:Zuul与Spring Cloud Gateway的比较分析
160 5
|
3月前
|
存储 对象存储
Ceph Reef(18.2.X)的对象存储网关(rgw)组件搭建
这篇文章是关于Ceph Reef(18.2.X)版本中对象存储系统的配置和使用案例,包括对象存储网关的概述、核心资源介绍、Ceph RGW支持的接口、高可用radosgw的部署、s3cmd工具的使用以及如何通过HTTP方式访问对象存储。
132 3
Ceph Reef(18.2.X)的对象存储网关(rgw)组件搭建
下一篇
DataWorks