当前位置: 首页 > news >正文

【Spring全家桶系列之核心篇 | Spring Cloud】 - 第七章 掌握Gateway核心技术,实现高效路由与转发

目录

  • 前言
  • 示例
    • 创建一个服务提供者
    • 创建网关
  • 创建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子项目

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 灵雀云AML:赋能金融AI,构建数智时代核心竞争力
  • Android SurfaceView 组件介绍,挖洞原理详解
  • Apache httpd-vhosts.conf 配置详解(附Demo)
  • 【学习笔记】无人机(UAV)在3GPP系统中的增强支持(十一)-无人机服务可用性用例需求
  • 不常用的第三方服务集成
  • [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-22 TPG图像测试数据发生器设计
  • CSS实现从上往下过渡效果
  • 【算法基础】Dijkstra 算法
  • 乘积量化pq:将高维向量压缩 97%
  • SSM 整合(Spring + MyBatis;Spring + Spring MVC)
  • VUE中setup()
  • Python爬虫速成之路(3):下载图片
  • 【常见开源库的二次开发】基于openssl的加密与解密——Base的编解码(二进制转ascll)(二)
  • 1219:马走日
  • STM32 不同时钟频率有什么不同的影响
  • SegmentFault for Android 3.0 发布
  • 2017-08-04 前端日报
  • centos安装java运行环境jdk+tomcat
  • create-react-app项目添加less配置
  • Flex布局到底解决了什么问题
  • java概述
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • Logstash 参考指南(目录)
  • PAT A1120
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • Windows Containers 大冒险: 容器网络
  • 从伪并行的 Python 多线程说起
  • 反思总结然后整装待发
  • 诡异!React stopPropagation失灵
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • ​Redis 实现计数器和限速器的
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (1)SpringCloud 整合Python
  • (2022 CVPR) Unbiased Teacher v2
  • (bean配置类的注解开发)学习Spring的第十三天
  • (k8s)Kubernetes本地存储接入
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (回溯) LeetCode 40. 组合总和II
  • (七)Knockout 创建自定义绑定
  • (四)stm32之通信协议
  • (转)大道至简,职场上做人做事做管理
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .NET gRPC 和RESTful简单对比
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .NET与 java通用的3DES加密解密方法
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • [20181219]script使用小技巧.txt
  • [BZOJ1877][SDOI2009]晨跑[最大流+费用流]
  • [C++] 容器适配器:深入理解Stack与Queue的底层原理
  • [CDOJ 838]母仪天下 【线段树手速练习 15分钟内敲完算合格】