在上一篇文章我们做了简单的SpringBoot与Nacos的连接和配置,在此基础上再加上基本的网关服务,这里只做一个简单的请求路由配置的功能。
springboot2.6.13+nacos2.5.1Server+spring-cloud-alibaba配置-CSDN博客
网关的核心功能:
-
请求路由
-
权限控制
-
限流
环境准备
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>${spring.cloud.alibaba}</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>${spring.cloud.starter}</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>${spring.cloud.alibaba}</version>
</dependency>
<!-- 引入网关相关的包 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
<version>${spring.cloud.starter}</version>
</dependency>
<!-- 使用负载均衡一定要加这个包 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
<version>${spring.cloud.starter}</version>
</dependency>
bootstrap.yml配置,在上节基础上增加了网关的配置信息:
spring:
application:
name: springCloudGateway
cloud:
nacos:
server-addr: 192.168.126.134:8848
config:
name: springCloudGateway
server-addr: ${spring.cloud.nacos.server-addr}
namespace: c7595b0e-c04c-4a67-a486-80b3b754a579
group: gzp
file-extension: yaml
enabled: true
refresh-enabled: true
discovery:
# 注册中心地址
server-addr: ${spring.cloud.nacos.server-addr}
# 所属命名空间id,用于区分开发、测试、生产
namespace: c7595b0e-c04c-4a67-a486-80b3b754a579
group: gzp
# # 设置为false可以只发现其他服务但不注册自身,用于本地代码调试
# register-enabled: false
gateway:
routes:
- id: gateway #路由的id,自定义唯一
# uri: http://ip:port #当前路由的转发固定地址
uri: lb://app #负载均衡,lb标识使用负载均衡,后面是服务名称
predicates: #路由断言,路由的转发规则
- Path=/wiki/** #路由的路径匹配,只要wiki开关就转发到这个服务上
应用启动

注册到Nacos服务中心,一个网关,两个应用服务

访问网关对应app的服务接口:

可以观察到是访问到8081了:

刷新了一次,可以观察到访问到8080应用里面了

到此简单配置完成。

3367

被折叠的 条评论
为什么被折叠?



