微服务分布式架构-gateway服务集成nacos

1、NACOS搭建完成,springboot服务建立,请看上篇

2、pom文件中引入网关服务需要的包,主要是下面几个包,当然maven编译有问题时,需要把相关依赖的包也加进来

        
            org.springframework.cloud
            spring-cloud-starter-gateway
        
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-discovery
        
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-config
        

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启动服务

微服务分布式架构-gateway服务集成nacos_第1张图片

 

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)网关服务是否正常测试

微服务分布式架构-gateway服务集成nacos_第2张图片

 2)服务从gateway分发到serverA和serverB测试

微服务分布式架构-gateway服务集成nacos_第3张图片

 微服务分布式架构-gateway服务集成nacos_第4张图片

 3)再启动一个serverA服务,端口设置为7003,会发现gateway会往seerverA的两个微服务轮询发消息,说明单个服务多个实例化也是OK的

7、全量代码可下载

demo路径icon-default.png?t=LBL2https://gitee.com/wang-tiaochun/demo.git

你可能感兴趣的:(架构设计,分布式,微服务,架构,gateway)