微服务分布式架构-gateway服务集成nacos
作者:互联网
1、NACOS搭建完成,springboot服务建立,请看上篇
2、pom文件中引入网关服务需要的包,主要是下面几个包,当然maven编译有问题时,需要把相关依赖的包也加进来
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
3、网关配置文件增加nacos信息和读取gateway分发的配置文件,gateway端口7000
spring:
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
ip: 127.0.0.1
config:
server-addr: 127.0.0.1:8848
file-extension: yaml
shared-configs[0]:
dataId: gateway.yaml
refresh: true
4、创建serverA和serverB服务,服务都创建简单的hellocontroller,serverA端口为7001,serverB端口7002启动服务
5、nacos的gateway文件配置,并启动gateway服务
spring:
cloud:
gateway:
routes:
- id: serverA
uri: lb://serverA
predicates:
- Path=/serverA/**
filters:
- StripPrefix=1
- id: serverB
uri: lb://serverB
predicates:
- Path=/serverB/**
filters:
- StripPrefix=1
解析:其中path代表后缀为该路径的转发到XX服务,StripPrefix代表从gateway转发时回退一个路径,其实就是把相对路径去掉一个
6、测试
1)网关服务是否正常测试
2)服务从gateway分发到serverA和serverB测试
3)再启动一个serverA服务,端口设置为7003,会发现gateway会往seerverA的两个微服务轮询发消息,说明单个服务多个实例化也是OK的
7、全量代码可下载
demo路径https://gitee.com/wang-tiaochun/demo.git
标签:服务,nacos,gateway,cloud,serverA,serverB 来源: https://blog.csdn.net/kongtiao5/article/details/122453985