springcloud gateway搭建及动态获取nacos注册的服务信息信息

前言

        Spring Cloud Gateway 通过集成 Nacos 服务发现,可以动态获取注册到 Nacos 的微服务实例信息,并根据服务名(Service Name)自动生成路由规则或手动配置路由规则,实现请求的动态路由和负载均衡。

        一个最简单的网关就是实现所有微服务的代理即可,但是生产环境通常需要服务鉴权限制访问等,这里先简单示例一个没有鉴权,可以访问所有微服务接口的网关

创建项目

创建一个springboot项目

注意:避免引入 spring-boot-starter-web,因 Gateway 基于 WebFlux 非阻塞模型

添加依赖

    
        org.springframework.boot
        spring-boot-starter-parent
        3.0.13
         
    





        
            org.springframework.cloud
            spring-cloud-starter-gateway
            4.0.0
        
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-discovery
            2022.0.0.0-RC2
        
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-config
            2022.0.0.0-RC2
        
        
            org.springframework.cloud
            spring-cloud-starter-loadbalancer
            4.0.5

修改配置

application.yml
server:
  port: 8080

spring:
  application:
    name: api-gateway
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848  # 服务注册地址
        namespace: local            # 命名空间(默认 public,我这里改为了local)
        group: DEFAULT_GROUP         # 分组
    gateway:
      discovery:
        locator:
          enabled: true              # 自动根据服务名生成路由(重要!)
          lower-case-service-id: true

启动和调用

springcloud gateway搭建及动态获取nacos注册的服务信息信息_第1张图片

springcloud gateway搭建及动态获取nacos注册的服务信息信息_第2张图片

成功访问到微服务的接口调用成功

总结

这里只是个简单的调用,主要目的是走通微服务调用的流程,后续会不断完善权限配置等

你可能感兴趣的:(springcloud,spring,cloud,gateway,java)