【Spring Cloud】掌握Gateway核心技术,实现高效路由与转发

news2024/9/22 17:29:20

目录

  • 前言
  • 示例
    • 创建一个服务提供者
    • 创建网关
  • 创建common子项目

前言

Spring Cloud Gateway 是一个基于 Spring Boot 的非阻塞 API 网关服务,它提供了动态路由、请求断言、过滤器等功能。

以下是关于 Spring Cloud Gateway 的示例:

示例

创建一个服务提供者

  1. 新建Module
    在这里插入图片描述在这里插入图片描述在这里插入图片描述dependency选择Spring Web及Eureka Discovery Client。
    在这里插入图片描述2. 打开pom.xml文件,修改如下:
    在这里插入图片描述3. 定义服务
    在src/main/java下面的com.cherry.provider 下创建新的包controller(也可以不创建新的包,在当前provider包下),并新建下面的类:
package com.cherry.provider1.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("product")
public class ProductController {
    @RequestMapping("list")
    public String list(){
        
        return "这是product列表";
    }
}
  1. 在resource中的配置文件中加入配置
server.port=8009
spring.application.name=my_provider1
#注册中心的地址
eureka.client.service-url.defaultZone=http://localhost:8001/eureka/
  1. 修改启动类,如下:
package com.cherry.provider1;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient
public class Provider1Application {
    public static void main(String[] args) {       
        SpringApplication.run(Provider1Application.class, args);
    }
}
  1. 打开注册中心
    在这里插入图片描述

创建网关

  1. 新建Module
    在这里插入图片描述在这里插入图片描述在这里插入图片描述2. 修改pom.xml文件
    在这里插入图片描述3. 修改配置文件application.properties,对网关进行配置
server.port=9001
spring.application.name=gateway
spring.cloud.gateway.routes[0].id= gateway-service
spring.cloud.gateway.routes[0].uri= http://localhost:8002
spring.cloud.gateway.routes[0].predicates[0]= Path=/building/welcome
  1. 启动服务
    在这里插入图片描述

创建common子项目

在这里插入图片描述在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1932811.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

什么是 std::ios::sync_with_stdio(false)

介绍 std::ios::sync_with_stdio(false) 是 C 中的一个配置设置,用于控制标准 I/O 流(如 std::cin, std::cout)的行为。这个设置主要用于优化输入输出操作的性能,尤其是在处理大量数据时。 在 C 中,标准流库&#xf…

PHP连接MySQL数据库

PHP本身不具备操作MySQL数据库的能力,需要借助MySQL扩展来实现。 1、PHP加载MySQL扩展:php.ini文件中。(不要用记事本打开) 2、PHP中所有扩展都是在ext的文件夹中,需要指定扩展所在路径:extension_dir。 3、…

3D问界—MAYA制作铁丝栅栏(透明贴图法)

当然,如果想通过建立模型法来实现铁丝栅栏的效果,也不是不行,可以找一下栅栏建模教程。本篇文章主要是记录一下如何使用透明贴图来实现创建铁丝栅栏,主要应用于场景建模,比如游戏场景、建筑场景等大环境,不…

Spring3(代理模式 Spring1案例补充 Aop 面试题)

目录 一、代理模式 介绍 意图 主要解决的问题 使用场景 实现方式 关键代码 应用实例 优点 缺点 使用建议 注意事项 结构 什么是代理模式? 为什么要用代理模式? 有哪几种代理模式? 1. 静态代理 实现 2. 基于接口的动态代理…

基于python旅游景点满意度分析设计与实现

1.1研究背景与意义 1.1.1研究背景 随着旅游业的快速发展,满意度分析成为评估旅游景点质量和提升游客体验的重要手段。海口市作为中国的旅游城市之一,其旅游景点吸引了大量游客。然而,如何科学评估和提升海口市旅游景点的满意度,…

Qt创建列表,通过外部按钮控制列表的选中下移、上移以及左侧图标的显现

引言 项目中需要使用列表QListWidget,但是不能直接拿来使用。需要创建一个列表,通过向上和向下的按钮来向上或者向下移动选中列表项,当当前项背选中再去点击确认按钮,会在列表项的前面出现一个图标。 实现效果 本实例实现的效果如下: 实现思路 思路一 直接采用QLis…

Spring Security之安全异常处理

前言 在我们的安全框架中,不管是什么框架(包括通过过滤器自定义)都需要处理涉及安全相关的异常,例如:登录失败要跳转到登录页,访问权限不足要返回页面亦或是json。接下来,我们就看看Spring Sec…

海外营销推广:快速创建维基百科(wiki)词条-大舍传媒

一、维基百科的永久留存问题 许多企业和个人关心维基百科是否能永久留存。实际上,只要企业和个人的行为没有引起维基百科管理方的反感,词条就可以长期保存。如果有恶意行为或被投诉,维基百科可能会对词条进行删除或修改。 二、创建维基百科…

为fooocus v2.5.0安装groundingdino

在win10下折就fooocus,使用git pull命令更新本地,然后…\python_embeded\python.exe -m pip install -r .\requirements_versions.txt更新依赖关系包。 卡在groundingdino的安装上,先在requirements_versions.txt中删除它,安装其他…

第十课:telnet(远程登入)

如何远程管理网络设备? 只要保证PC和路由器的ip是互通的,那么PC就可以远程管理路由器(用telnet技术管理)。 我们搭建一个下面这样的简单的拓扑图进行介绍 首先我们点击云,把云打开,点击增加 我们绑定vmn…

线程的中断和同步问题

1、自动终断【完成】:一个线程完成执行后(即run方法执行完毕),不能再次运行 。 2、手动中断: stop( ) —— 已过时,基本不用。(不安全,就像是突然停电) interrupt( ) …

VTK----3D picking的原理、类型及实现

目录 3D picking概述 3D射线投射原理 VTK picking框架 vtkPicker(选Actor) vtkPointPicker(选点) vtkCellPicker(选单元) vtkAreaPicker(框选) 3D picking概述 3D picking 是一种在三维场景中确定用户点击或指向的对象的技术。这在3D应用程序和游戏中非常常见,…

CentOS 7 初始化环境配置详细

推荐使用xshell远程连接,如链接不上 请查看 CentOS 7 网络配置 修改主机名 hostname hostnamectl set-hostname xxx bash 关闭 SElinux 重启之后生效 配置yum源(阿里) 先备份CentOS-Base.repo,然后再下载 mv /etc/yum.repos…

MySQL学习记录 —— 이십이 MySQL服务器日志

文章目录 1、日志介绍2、一般、慢查询日志1、一般查询日志2、慢查询日志FILE格式TABLE格式 3、错误日志4、二进制日志5、日志维护 1、日志介绍 中继服务器的数据来源于集群中的主服务。每次做一些操作时,把操作保存到重做日志,这样崩溃时就可以从重做日志…

STM32(六):STM32指南者-定时器实验

目录 一、基本概念1、常规定时器2、内核定时器 二、基本定时器实验1、实验说明2、编程过程(1)配置LED(2)配置定时器(3)设定中断事件(4)主函数计数 3、工程代码 三、通用定时器实验实…

高数知识补充----矩阵、行列式、数学符号

矩阵计算 参考链接:矩阵如何运算?——线性代数_矩阵计算-CSDN博客 行列式计算 参考链接:实用的行列式计算方法 —— 线性代数(det)_det线性代数-CSDN博客 参考链接:行列式的计算方法(含四种,…

基于 asp.net家庭财务管理系统设计与实现

博主介绍:专注于Java .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟 我的博客空间发布了1000毕设题目 方便大家学习使用感兴趣的可以先…

破解反爬虫策略 /_guard/auto.js(二)实战

这次我们用上篇文章讲到的方法来真正破解一下反爬虫策略,这两个案例是两个不同的网站,一个用的是 /_guard/auto.js,另一个用的是/_guard/delay_jump.js。经过解析发现这两个网站用的反爬虫策略基本是一模一样,只不过在js混淆和生成…

k8s核心操作_存储抽象_K8S中使用Secret功能来存储密码_使用免密拉取镜像_k8s核心实战总结---分布式云原生部署架构搭建033

注意在看的时候一定要把 dxxxx中的xxxx换成--o----c----k----e----r 然后我们再来看一个k8s中的secret的功能,这个功能 用来存储密码的,configMap是用来存配置的 比如我们有个pod,他的镜像,如果是需要密码的,那么 我们现在是从公共仓库拉取的,如果我们从私有仓库拉取,有密码…

搜维尔科技:【研究】触觉技术将在5年内以8种方式改变人们的世界

触觉技术在过去几年中发展迅猛,大大提高了反馈的精确度和真实度。其应用产生了真正的影响,数百家公司和企业都集成了触觉技术来增强培训和研究模拟。 虽然触觉技术主要用于 B2B 层面,但触觉技术可能会彻底改变我们的生活,尤其是通…