这是我参与11月更文挑战的第21天,活动详情查看:2021最后一次更文挑战
前情回顾
上一篇文章,我们分享了Gateway的基本介绍和主要特性,同时对Gateway有了基本的认识,有了这个基础,我们就可以进行初步的学习了。
今天我们就要来初步学习一下SpringCloud中如何集成Gateway网关组件。
SpringCloud集成Gateway
注:本次使用IDEA进行项目的创建、使用、运行等。
创建一个maven项目
首先让我们来创建一个maven项目,
引入gateway相关jar包
<!--gateway-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
如上xml信息,加入至pom.xml中即可,当然需要提前指定好SpringCloud的版本才行,如下代码。
<dependencyManagement>
<dependencies>
<!--SpringCloud-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR9</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
引入nacos相关jar包
然后引入Nacos相关的jar包,这里我们在之前的文章提到过了,就不多说了。
<!--nacos-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
修改gateway项目配置文件
配置文件是重中之重,如下代码:
server:
port: 80
tomcat:
uri-encoding: utf-8
servlet:
context-path: /
spring:
application:
name: demo-gateway
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
gateway:
enabled: true
discovery:
locator:
enabled: true
lower-case-service-id: true
routes:
- id: demo_route
uri: http://www.baidu.com
predicates:
- Path=/baidu/**
filters:
- StripPrefix=1
运行项目
让我们编写好Application相关类,启动项目。
访问链接进行验证
启动完成后,让我们访问http://127.0.0.1/baidu/1。
验证结果
随后我们会发现,页面会直接跳转至百度页面,这也就是网关路由生效了,到此Gateway已经初步集成完毕了。
总结
今天同大家分享了Gateway的初步集成,在项目中想必大家也有了一些感想。
如果大家目前正在使用Gateway组件的话,也可以分享一下你使用的经验;
如果没有,那么希望大家可以多思考一下Gateway基础功能的妙用,也可以与其他软件或者组件进行对比一下。
相信会有更深的理解。