ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-01-12 15:31:01  阅读:280  来源: 互联网

标签:服务 nacos gateway cloud serverA serverB


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路径icon-default.png?t=LBL2https://gitee.com/wang-tiaochun/demo.git

标签:服务,nacos,gateway,cloud,serverA,serverB
来源: https://blog.csdn.net/kongtiao5/article/details/122453985

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有