网关
网关就相当于nginx转发通过服务名即可访问服务
feign 之类的是为了方便使用其他服务,可以直接像service一样引入使用
参数说明
cloud:
gateway:
discovery:
locator:
lowerCaseServiceId: true
enabled: true
routes:
# 字典服务
- id: platform-dict
uri: lb://platform-dict
predicates:
- Path=/common-dict/**
filters:
- StripPrefix=1
lowerCaseServiceId: true
确保所有服务ID在生成路由时都转换为小写,避免由于大小写问题导致的路由匹配失败。
enabled: true
启用服务发现定位器,使Spring Cloud Gateway可以自动发现注册中心中的所有服务,并为每个服务创建一个路由。这意味着当新服务注册到注册中心时,Spring Cloud Gateway会自动更新其路由配置,而不需要手动配置每个服务的路由。
id: platform-dict
这是路由的ID,用于唯一标识这个路由配置。
uri: lb://platform-dict
这是路由的目标URI,其中lb://表示这是一个使用负载均衡的服务调用。platform-dict是服务的名称,Spring Cloud Gateway会将请求转发到这个服务。
predicates
这里定义了路由的谓词(predicates),谓词决定了哪些请求应该被这个路由处理。在这个配置中,有一个Path谓词,值为/common-dict/**,表示所有以/common-dict/开头的请求路径都会匹配这个路由。
filters
这里定义了路由的过滤器(filters),过滤器可以对请求和响应进行修改。在这个配置中,有一个StripPrefix过滤器,值为1,这表示会从请求路径中去掉第一个路径前缀。例如,如果请求路径是/common-dict/somepath,经过StripPrefix=1处理后,路径会变成/somepath。
这段配置的作用可以总结如下:将所有以/common-dict/开头的请求路径转发到platform-dict服务。在转发请求之前,去掉请求路径中的第一个路径前缀,即将/common-dict/去掉。Nacos作为配置中心在这个场景下的作用主要是存储和管理这个路由配置,Spring Cloud Gateway会从Nacos中读取这些配置并应用于路由处理。