gateway如何集成注册中心nacos

本文来详细说下gateway如何集成注册中心nacos。


概述

通过前文咱们了解到Spring Cloud Gateway的核心是路由配置,然后在本地application.yml中配置了一条路由,但这种修改本地配置文件的方式缺乏灵活性,未必能满足灵活多变的业务需求,因此,本篇的目的就是找出本地配置之外的其他配置方式来,满足各种实际需求

在这里插入图片描述


gateway集成nacos实战

动态获取URI

搭建了一个order-service服务,存在两个实例

在这里插入图片描述

yaml文件配置

server:
  port: 8888

spring:
  application:
    name: api-gateway
  cloud: #nacos注册中心地址的配置
    nacos:
      discovery:
        server-addr: localhost:8848  # nacos 注册中心的地址
    gateway:
      #路由规则
      routes:
         #路由ID,唯一
        - id: server-order
          #服务名路由,lb为负载均衡的缩写
          uri: lb://order-service
          predicates:
          #匹配对应URL的请求,将匹配到的请求追加在目标URI之后
          - Path=/order/**

测试结果

在这里插入图片描述
在这里插入图片描述


服务名称转发

搭建了一个order-service服务,存在两个实例。搭建了一个product-service服务,存在两个实例。

在这里插入图片描述

服务测试结果

在这里插入图片描述
在这里插入图片描述

yaml文件配置

server:
  port: 8888

spring:
  application:
    name: api-gateway
  cloud: #nacos注册中心地址的配置
    nacos:
      discovery:
        server-addr: localhost:8848  # nacos 注册中心的地址
    gateway:
      #路由规则
      routes:
         #路由ID,唯一
        - id: server-order
          #服务名路由,lb为负载均衡的缩写
          uri: lb://order-service
          predicates:
          #匹配对应URL的请求,将匹配到的请求追加在目标URI之后
          - Path=/order/**
          #路由ID,唯一
        - id: server-product
          #服务名路由,lb为负载均衡的缩写
          uri: lb://product-service
          predicates:
          #匹配对应URL的请求,将匹配到的请求追加在目标URI之后
          - Path=/product/**

现在配置了两个服务,需要配置两个服务的路由信息,要是服务有很多,这样配置似乎不太方便,gateway提供了更加简单的配置。简化版的yaml文件为下

server:
  port: 8888

spring:
  application:
    name: api-gateway
  cloud: #nacos注册中心地址的配置
    nacos:
      discovery:
        server-addr: localhost:8848  # nacos 注册中心的地址
    #使用springboot约定大于配置的特性
    gateway:
      discovery:
        # 是否与注册中心结合,通过service-id转发到具体的服务实例
        locator:
          enabled: true # 让gateway可以发现nacos中的微服务
          low-case-service-id: true #是否将服务名称转为小写

测试

在这里插入图片描述
在这里插入图片描述
这时候,就发现只要按照网关地址/微服务/接口的格式去访问,就可以得到成功响应。


本文小结

本文主要介绍了gateway如何集成注册中心nacos来使用,介绍了动态获取URI和服务名称转发。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值