springcloud整合nacos、gateway并测试路由 笔记

本地启动nacos

进入bin目录 双击startup.cmd
注意是单节点standalone启动,若是cluster,需打开startup.cmd文件 修改
在这里插入图片描述
启动成功后,到浏览器中访问localhost:8848/nacos,默认登录账号密码都是nacos,登录成功后界面如下:
在这里插入图片描述

搭建gateway-server 服务

1.添加关键依赖

		<!--nacos作为注册中心-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--引入gateway依赖 -->
        <!--Gateway 不支持spring boot web包 去除spring-boot-starter-web依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-web</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-webflux</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-webflux</artifactId>
            <version>2.1.4.RELEASE</version>
        </dependency>

2.application.yml

server:
  port: 8085
spring:
  application:
    name: gateway-server	#必写,否则无法注册到nacos中
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
    gateway:
      locator:
        enabled: true
      routes:
        - id: system-server    #路由的ID,没有固定规则,但要求唯一,建议配合服务名
#          uri: http://localhost:8086
          uri: lb://system-server    #匹配后提供服务的路由地址-------这里用的动态路由格式统一为 lb://注册进nacos服务中心的名字
          predicates:
            - Path=/welcome/**      #断言,路径相匹配的进行路由--------断言也就是匹配方式,当识别到/welcome/**时就会跳转上面的uri
          filters:
            - StripPrefix=1   # 去掉1个访问前缀  如 /welcome/login  其实就是访问目标服务的/login

3.启动类添加@EnableDiscoveryClient 开启服务注册与发现

2.用于测试的system-server

1.添加关键依赖

<dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

2.yml文件

server:
  port: 8086

spring:
  application:
    name: system-server
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848

3.启动类添加@EnableDiscoveryClient
4.测试路由接口

@RestController
public class UserController {

    @RequestMapping("/userInfo")
    public String getUserInfo(){
        return "please getUserInfo";
    }
}

3.效果

nacos注册中心
在这里插入图片描述
请求接口
在这里插入图片描述
成功访问目标路由
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值