创建网关项目(Spring Cloud Gateway)过程详解
创建网关项目
加入网关后微服务的架构图
创建项目
POM文件
<properties> <java.version>1.8</java.version> <spring-cloud.version>Greenwich.SR3</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
修改配置文件
将项目目录下的/src/main/resources/application.properties文件重命名为application.yml,properties配置格式和yml配置格式是等效的,而yml配置格式能更好的被配置中心使用,所以我们使用yml配置格式。
测试网关项目
application.yml配置文件内容修改如下:
server: port: 9000 spring: cloud: gateway: routes: - id: first_route uri: https://github.com/sunweisheng predicates: - Path=/test
- port:网关服务端口
- routes:路由集合
- id:路由的唯一标示
- uri:路由目标地址
- predicates:路由条件,如果为true则路由到uri
predicates(还有filters)的种类很多请参考Spring Cloud Gateway官网
启动项目测试
访问127.0.0.1:9000/test
源码
Github仓库: https://github.com/sunweisheng/spring-cloud-example
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
5分钟快速创建spring boot项目的完整步骤
前言 上一篇博客说了如何创建spring boot项目,但是有些同学会觉得有点麻烦,有没有什么快速学会能快速创建spring boot项目的方法,答案是肯定的.接下来我们就一起来快速创建一个spring boot项目并让它跑起来. 我们今天用两种方式创建,分别是在线创建和使用IntelliJ IDEA创建. 1 在线创建 1.1 在浏览器中打开https://start.spring.io/,我们看到的是如下图所示: 1.2 Project选择Maven Project,Language选择Ja
-
使用Spring Boot创建Web应用程序的示例代码
在这篇文章中,我们将探讨使用Spring Boot创建Web应用程序的细节. 我们将探索Spring Boot如何帮助你加速应用程序开发. 我们将使用Spring Boot构建一个简单的Web应用程序,并为其添加一些有用的服务. 1. 介绍 启动一个新项目的主要挑战之一是该项目的初始设置. 我们需要对不同的目录结构进行调用,并且需要确保我们遵循所有行业标准.对于使用Spring Boot创建Web应用程序,我们需要以下工具: 我们自己喜欢的IDE (我将使用IntelliJ) Maven JDK
-
SpringCloud如何创建一个服务提供者provider
前几篇主要集中在注册中心eureka的使用上,接下来可以创建服务提供者provider来注册到eureka. demo源码见: https://github.com/Ryan-Miao/spring-cloud-Edgware-demo/tree/master/provider-demo 为了方便版本控制,接下来的项目都是基于https://github.com/Ryan-Miao/spring-cloud-Edgware-demo 这个parent配置的. 创建子moudle provider
-
springcloud gateway聚合swagger2的方法示例
问题描述 在搭建分布式应用时,每个应用通过nacos在网关出装配了路由,我们希望网关也可以将所有的应用的swagger界面聚合起来.这样前端开发的时候只需要访问网关的swagger就可以,而不用访问每个应用的swagger. 框架 springcloud+gateway+nacos+swagger 问题分析 swagger页面是一个单页面应用,所有的显示的数据都是通过和springfox.documentation.swagger.web.ApiResponseController进行数据交互,
-
解决Spring session(redis存储方式)监听导致创建大量redisMessageListenerContailner-X线程问题
待解决的问题 Spring session(redis存储方式)监听导致创建大量redisMessageListenerContailner-X线程 解决办法 为spring session添加springSessionRedisTaskExecutor线程池. /** * 用于spring session,防止每次创建一个线程 * @return */ @Bean public ThreadPoolTaskExecutor springSessionRedisTaskExecutor(){ T
-
Spring创建Bean的6种方式详解
前言 本文讲解了在Spring 应用中创建Bean的多种方式,包括自动创建,以及手动创建注入方式,实际开发中可以根据业务场景选择合适的方案. 方式1: 使用Spring XML方式配置,该方式用于在纯Spring 应用中,适用于简单的小应用,当应用变得复杂,将会导致XMl配置文件膨胀 ,不利于对象管理. <bean id="xxxx" class="xxxx.xxxx"/> 方式2: 使用@Component,@Service,@Controler,@R
-
详解Spring Cloud Gateway 限流操作
开发高并发系统时有三把利器用来保护系统:缓存.降级和限流. API网关作为所有请求的入口,请求量大,我们可以通过对并发访问的请求进行限速来保护系统的可用性. 常用的限流算法比如有令牌桶算法,漏桶算法,计数器算法等. 在Zuul中我们可以自己去实现限流的功能 (Zuul中如何限流在我的书 <Spring Cloud微服务-全栈技术与案例解析> 中有详细讲解) ,Spring Cloud Gateway的出现本身就是用来替代Zuul的. 要想替代那肯定得有强大的功能,除了性能上的优势之外,Spr
-
Spring Boot 项目创建的详细步骤(图文)
一. 简单介绍一下Spring Boot 世界惯例,在学习一个框架之前,我们需要了解一下这个框架的来历. 下面我们引用一下百度百科的解释. Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者 Spring Boo
-
创建网关项目(Spring Cloud Gateway)过程详解
创建网关项目 加入网关后微服务的架构图 创建项目 POM文件 <properties> <java.version>1.8</java.version> <spring-cloud.version>Greenwich.SR3</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springfram
-
spring整合struts2过程详解
这篇文章主要介绍了spring整合struts2过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 首先将以下jar包加入到lib文件夹中: 基础目录: Person.java package com.gong.spring.struts2.beans; public class Person { private String username; public void setUsername(String username) { this
-
Spring Cloud Ribbon配置详解
本节我们主要介绍 Ribbon 的一些常用配置和配置 Ribbon 的两种方式. 常用配置 1. 禁用 Eureka 当我们在 RestTemplate 上添加 @LoadBalanced 注解后,就可以用服务名称来调用接口了,当有多个服务的时候,还能做负载均衡. 这是因为 Eureka 中的服务信息已经被拉取到了客户端本地,如果我们不想和 Eureka 集成,可以通过下面的配置方法将其禁用. # 禁用 Eureka ribbon.eureka.enabled=false 当我们禁用了 Eure
-
Spring Cloud Feign原理详解
目录 Feign的大体机制 @EnableFeignClients 和 @FeignClient 注解 registerDefaultConfiguration方法 registerFeignClients方法 feign客户端的动态代理 Feign 主要是帮助我们方便进行rest api服务间的调用,其大体实现思路就我们通过标记注解在一个接口类上(注解上将包含要调用的接口信息),之后在调用时根据注解信息组装好请求信息,接下来基于ribbon这些负载均衡器来生成真实的服务地址,最后将请求发送出去
-
Vite创建Vue3项目及Vue3使用jsx详解
目录 Vite创建Vue3项目 1. 输入项目名称 2. 选择框架 3. 选择不同的vue 4. 项目创建完成 5. 项目结构 6. 启动项目 Vue3中使用jsx 1. 安装插件 2. 注册插件 3. 使用插件 注意 总结 Vite创建Vue3项目 Vite 需要 Node.js 版本 >= 12.0.0.(node -v 查看自己当前的node版本) 使用 yarn:yarn create @vitejs/app 使用 npm:npm init @vitejs/app 1. 输入项目名称 这
-
Spring boot项目使用thymeleaf模板过程详解
在spring boot 项目中使用thymeleaf模板,将后台数据传递给前台界面. 1.将后台数据传递给前台有很多种方式,可以将后台要传递的数据转换成json格式,去传递给前台,也可以通过model形式去传递出去,这篇博客主要是使用thymeleaf模板,将后台数据传递给前台. 2.首先要在spring boot 项目中添加如下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artif
-
SSM框架中测试单元的使用 spring整合Junit过程详解
测试类中的问题和解决思路 问题 在测试类中,每个测试方法都有以下两行代码: ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml"); IAccountService as = ac.getBean("accountService",IAccountService.class); 这两行代码的作用是获取容器,如果不写的话,直接会提示空指针异常.所以又不能轻易删掉. 解决思路分析 针对
-
Springboot集成spring data elasticsearch过程详解
版本对照 各版本的文档说明:https://docs.spring.io/spring-data/elasticsearch/docs/ 1.在application.yml中添加配置 spring: data: elasticsearch: repositories: enabled: true #多实例集群扩展时需要配置以下两个参数 #cluster-name: datab-search #cluster-nodes: 127.0.0.1:9300,127.0.0.1:9301 2.添加 M
-
SpringBoot项目整合jasypt实现过程详解
依赖引入pom.xml <!-- jasypt核心依赖 --> <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.1</version> <!-- jasypt2.1.1与spring-boot2.2.6的兼容性是
-
Java Spring Cloud 负载均衡详解
目录 1. Ribbon 客户端负载均衡 1.1 Ribbon 概述 1.2 Ribbon 远程调用 1.3 Ribbon 负载均衡 1.4 Ribbon 负载均衡策略 总结 1. Ribbon 客户端负载均衡 1.1 Ribbon 概述 Ribbon 是 Netflix 提供的一个基于 HTTP 和 TCP 的客户端负载均衡工具. Ribbon主要有两个功能: 简化远程调用 负载均衡 客户端负载均衡和服务端负载均衡的区别 服务端负载均衡 负载均衡算法在服务端 由负载均衡器维护服务地址列表 客户
随机推荐
- 在实战中可能碰到的几种ajax请求方法详解
- js实现简单的购物车有图有代码
- 关于pip的安装,更新,卸载模块以及使用方法(详解)
- PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
- PHP常用的文件操作函数经典收藏
- C++中 静态局部变量实例详解
- MYSQL开发性能研究之批量插入数据的优化方法
- Docker 教程之Docker Hub详细介绍
- 浅谈Linux磁盘修复e2fsck命令
- 搭建Eclipse+MyEclipse开发环境
- jQuery实现弹幕效果
- js获取地址栏参数的两种方法
- IIS防盗链,防迅雷的唯一方案(safe3if)
- Android特效之水波纹的实现
- 在RedHat下安装apache jserv 1.1.2方法
- c++实现的常见缓存算法和LRU
- Java设计模式之装饰者模式详解和代码实例
- MyBatis学习教程(三)-MyBatis配置优化
- C#中单例的实现方法
- vue自定义指令之面板拖拽的实现