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文件为下
测试
这时候,就发现只要按照网关地址/微服务/接口的格式去访问,就可以得到成功响应。
本文小结
上一篇:
通过多线程提高代码的执行效率例子