5-5springgateway网关-y_zoran-博客园

5-5 Spring Gateway网关 - y_zoran - 博客园

什么是Spring Cloud Gateway

Spring Cloud Gateway是Spring Cloud生态系统中的网关。类似于ZUUL网关,它可以处理路由请求,执行过滤等操作,可以实现对微服务请求的统一管理,同时还支持WebSocket、HTTP请求转发、负载均衡等功能。

Spring Cloud Gateway的优势

相较于ZUUL1.x,Spring Cloud Gateway优势如下:

  • 轻量级,可以在不依赖Servlet容器的情况下运行。
  • 基于异步非阻塞模型Reactor构建,性能优越。
  • 支持函数式编程模型。
  • 支持路由断言、过滤器等,这些过滤器支持全局配置、路由级别配置及特定的URI级别配置,更加灵活。
  • 内置了Hytrix熔断器和负载均衡器。

Spring Cloud Gateway的使用

Spring Cloud Gateway的使用方式分为以下几个步骤:

  1. 引入相关依赖

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

  1. 配置路由

yaml
spring:
cloud:
gateway:
routes:
- id: blog
uri: https://www.cnblogs.com/
predicates:
- Path=/blog/**
- id: github
uri: https://github.com/
predicates:
- Path=/github/**

这里配置了两个路由,一个是把以/blog开头的请求转发到博客园,另一个是把以/github开头的请求转发到GitHub。

  1. 编写自定义过滤器

```java
@Component
public class MyFilter implements GlobalFilter, Ordered {

   @Override
   public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
       System.out.println("请求路径:" + exchange.getRequest().getURI().getPath());
       return chain.filter(exchange);
   }

   @Override
   public int getOrder() {
       return -1;
   }

}
```

这里编写一个简单的过滤器,输出请求路径信息。

  1. 启动应用并测试

在启动应用后,访问http://localhost:8080/blog就会转发到博客园,访问http://localhost:8080/github就会转发到GitHub,并在控制台输出请求路径信息。

总结

Spring Cloud Gateway是Spring Cloud生态系统中的一个强大网关,具有轻量级、灵活、高性能等优势。在使用过程中需要配置路由、过滤器等,可以实现对微服务请求的统一管理。

阅读剩余 49%

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:5-5springgateway网关-y_zoran-博客园 - Python技术站

(0)
上一篇 2023年3月28日
下一篇 2023年3月28日

相关文章

  • Linkbutton控件在项目中的简单应用

    下面我将详细讲解“LinkButton控件在项目中的简单应用”的完整攻略。 一、LinkButton控件的介绍 LinkButton控件是ASP.NET中常用的控件之一,它通常用于在页面上生成一个类似于超链接的按钮。当用户单击按钮时,可以触发特定的事件来执行一些操作。 LinkButton控件通常用于单击按钮后执行某些后端操作或跳转到其他页面。 下面是Lin…

    other 2023年6月26日
    00
  • zip文件怎么打开

    当我们下载一个zip文件时,该文件实际上是一个压缩文件,包含了多个文件或文件夹。为了打开zip文件,我们需要进行以下步骤: 下载并安装压缩软件在Windows系统中,常用的压缩软件有WinZip、WinRAR和7-Zip,Mac系统中,则自带了解压缩工具。你可以在压缩软件官网下载,也可以在应用商店中直接搜索下载安装。 打开压缩软件打开压缩软件后,就可以看到软…

    其他 2023年4月16日
    00
  • React中useEffect与生命周期钩子函数的对应关系说明

    React中,useEffect和生命周期函数是需要对应的,使得我们可以在组件生命周期中做出相应的行为,比如在组件挂载或者更新时进行异步请求或者进行一些其他操作。本文将介绍useEffect和生命周期函数的对应关系,并进行一些示例说明。 useEffect和生命周期函数的对应 useEffect 生命周期函数 说明 useEffect(fn) compone…

    other 2023年6月27日
    00
  • Java面试之如何获取客户端真实IP

    获取客户端真实IP是Java Web应用中常见的需求,例如统计网站访问量、IP地址的黑白名单限制等等。由于客户端与服务器之间可能经过代理等中间层,因此需要进行一定的处理才能获取到真实IP。 以下是获取客户端真实IP的完整攻略: 步骤1:获取HTTP请求相关对象 需要使用Java Web应用中的HttpServletRequest对象,代码如下: HttpSe…

    other 2023年6月27日
    00
  • mysql 5.7.11 安装配置教程

    MySQL 5.7.11 安装配置教程 MySQL是一种关系型数据库管理系统,广泛应用于各种类型的应用程序。本文将介绍如何在Windows 10系统中安装配置MySQL 5.7.11。 安装MySQL 5.7.11 步骤1:下载MySQL 5.7.11 通过MySQL官网(https://dev.mysql.com/downloads/mysql/5.7.h…

    other 2023年6月27日
    00
  • vscode设置背景图片的两种方式

    VS Code设置背景图片的两种方式 VS Code是一款流行的代码编辑器,它支持自定义主题和背景图片。本攻略将介绍如何在VS Code中设置背景图片的两种方式。 方式一:使用插件 在VS Code中,我们可以使用插件来设置背景。以下是使用插件设置背景图片的步骤: 打开VS Code。 点击左侧菜单中的“Extensions”按钮。 搜索“backgroun…

    other 2023年5月9日
    00
  • Selenium环境变量配置(火狐浏览器)及验证实现

    下面是Selenium环境变量配置(火狐浏览器)及验证实现的完整攻略。 环境变量配置 下载与Firefox浏览器版本对应的geckodriver驱动,官网下载地址为:https://github.com/mozilla/geckodriver/releases。 将下载好的geckodriver.exe文件置于指定的文件夹路径中(如:C:\Program F…

    other 2023年6月27日
    00
  • 如何在plsql/developer的命令窗口执行sql脚本

    以下是“如何在PL/SQL Developer的命令窗口执行SQL脚本”的完整攻略,过程中包含两个示例说明的标准格式文本: 在PL/SQL Developer的命令窗口SQL脚本 PL/SQL Developer是一款常用的Oracle数据库开发工具,它提供了一个命令窗口,可以用于执行SQL脚。本文将介绍如何在PL/SQL Developer的命令窗口中执行…

    other 2023年5月10日
    00
合作推广
合作推广
分享本页
返回顶部