Spring Gateway静态文件路由

Spring Gateway静态文件路由

Spring gateway路由简介

早期的Spring cloud使用的路由框架是Spring Zuul(spring-cloud-starter-netflix-zuul),采用的是blocking model。在最新的Spring cloud框架中,Spring Gataway(spring-cloud-starter-gateway) 被用来替代Spring Zuul,它采用的是non-blocking model,可以提供更好的路由性能。

无论使用哪一种Spring cloud路由框架,应用的路由信息都是通过环境变量进行配置(configMap,applicaiton.yml或application.property或者在运行时通过-D option指定)。对应Spring zuul,路由的入口是spring.zuul.routes, Spring gateway的是 spring.cloud.gateway.routes.

路由到其他微服务的API路由

路由到其他微服务的配置,通才采用的是micro-service-id的方式(注册在同一个Service Registry中,可被spring gateway微服务发现的服务id)

Spring zuul

spring:
	zuul:
	  routes:
	    test-service:
	      service-id: <micro-service-id>
	      sensitive-headers:
	      path: /api/test-service/**

Spring Gateway

spring:
  cloud:
    gateway:
      routes:
      - id: test-service
        uri: lb://<micro-service-id>
        predicates: 
        - Path=/api/test-service/**

静态文件服务

通常会将如下配置加到路由属性配置的最后一条,做为默认配置,当前面的路由规则都没有被触发的情况下,使用forward的方式,foward到当前微服务(spring gateway)的服务跟目录,匹配静态资源和spring gateway的本地API(静态资源是指放在static目录中的所有的文件)

Spring zuul

spring:
	zuul:
	  routes:
	    local-service:
	      path: /**
	      url: forward:/

Spring Gateway

spring:
  cloud:
    gateway:
      routes:
      - id: local-service
        uri: forward:/
        predicates: 
        - Path=/**

静态文件的缓存配置

当发布一下小的项目的时候,可以把前段的静态资源打包到gateway的static目录,通过gateway作为入口,提供前端资源的访问,同时作为服务路由,提供所有下游微服务的统一入口,静态资源文件的缓存可以通过如下配置属性配置

spring:
  resources:
    cache-period:  28800

小结

当管理一个小型项目时,可以使用spring boot的静态资源的方式,打包前端资源,并把它作为gateway的一部分发布,本文提供了一种配置前端资源的路由方式和页面缓存的配置方式。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值