网关服务


在SpringCloud微服务体系中,网关不可或缺的一个重要组件。

ofa集成了spring cloud gateway作为网关组件,网关可以理解成整个微服务的统一入口。

gateway

其中最主要的就是Route、Predicates 和 Filters 作用于特定路由。

  • Route:路由是网关的基本构件。它由ID、目标URI、谓词集合和过滤器集合定义。如果聚合谓词为真,则匹配路由。
  • Predicate:参照Java8的新特性Predicate。这允许开发人员匹配HTTP请求中的任何内容,比如头或参数。
  • Filter:可以在发送下游请求之前或之后修改请求和响应。

客户端向网关发送请求,网关根据请求路由,转发到对应的服务,中间可以在请求前和请求后加上自己的过滤器规则。

ofa将gateway和nacos结合起来,将路由配置放在nacos中,实现改变路由配置不用重启应用。

nacos配置:

gateway-config

gateway配置:

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
      config:
        server-addr: 127.0.0.1:8848
        shared-dataids: gateway.yml
        refreshable-dataids: gateway.yml