Files
cn-rdms/rdms-gateway/src/main/resources/application.yaml
hongawen b4f6eab64c config(gateway): 配置中心和日志配置外置到Nacos
- 添加Nacos配置中心依赖并启用配置导入功能
- 将网关日志配置外置到Nacos gateway-server.yaml文件
- 将业务模块日志文件路径配置外置到Nacos rdms-common.yaml
- 在pom.xml中设置addResources为false避免占位符不被替换
- 添加logback-spring.xml配置文件用于日志格式化和滚动策略
- 优化日志配置管理方式,实现按环境统一配置
2026-06-22 14:10:29 +08:00

127 lines
5.6 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

spring:
application:
name: gateway-server
http:
codecs:
max-in-memory-size: 10MB # 调整缓冲区大小https://gitee.com/zhijiantianya/rdms-cloud/pulls/176
# Jackson 配置项
jackson:
serialization:
write-dates-as-timestamps: true # 设置 LocalDateTime 的格式,使用时间戳
write-date-timestamps-as-nanoseconds: false # 设置不使用 nanoseconds 的格式。例如说 1611460870.401,而是直接 1611460870401
write-durations-as-timestamps: true # 设置 Duration 的格式,使用时间戳
fail-on-empty-beans: false # 允许序列化无属性的 Bean
main:
allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。
# 配置中心:网关独享一份 dataId不共用业务侧 rdms-common.yaml其数据库/Redis/MyBatis 等配置网关用不到)。
config:
import:
- nacos:gateway-server.yaml # 网关专属配置(日志路径等),需先在 Nacos 建好该 dataId
cloud:
# 注册中心 + 配置中心连接(值由根 pom 的 nacos.* 属性在打包时注入)。
nacos:
server-addr: @nacos.server-addr@
username: @nacos.username@
password: @nacos.password@
discovery:
namespace: @nacos.namespace@
group: @nacos.group@
config:
namespace: @nacos.namespace@
group: @nacos.group@
# Spring Cloud Gateway 配置项,对应 GatewayProperties 类
gateway:
server:
webflux:
# HttpClient 连接池配置:网关作为反向代理客户端,复用到下游服务的 keep-alive 连接。
# 必须保证 max-idle-time < 下游 server.tomcat.keep-alive-timeout当前下游为 60s
# 否则服务端先 FIN、网关池仍持有"已死连接",复用时会抛 reactor.netty.http.client.PrematureCloseException。
httpclient:
connect-timeout: 10000 # 建立连接超时,毫秒
response-timeout: 30s # 接收响应超时
pool:
max-idle-time: 30s # 闲置连接最长保留 30s严格小于下游 keep-alive-timeout(60s)
evict-in-background: 60s # 周期后台驱逐过期连接,进一步降低 race 概率
# 路由配置项,对应 RouteDefinition 数组
routes:
## system-server 服务
- id: system-admin-api # 路由的编号
uri: grayLb://rdms-system-server
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- Path=/admin-api/system/**
filters:
- RewritePath=/admin-api/system/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
- id: system-app-api # 路由的编号
uri: grayLb://rdms-system-server
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- Path=/app-api/system/**
filters:
- RewritePath=/app-api/system/v3/api-docs, /v3/api-docs
- id: system-websocket # 路由的编号WebSocket
uri: grayLb://rdms-system-server
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- Path=/system/ws/**
## project-server 服务
- id: project-admin-api # 路由的编号
uri: grayLb://rdms-project-server
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- Path=/admin-api/project/**
filters:
- RewritePath=/admin-api/project/v3/api-docs, /v3/api-docs
- id: project-app-api # 路由的编号
uri: grayLb://rdms-project-server
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- Path=/app-api/project/**
filters:
- RewritePath=/app-api/project/v3/api-docs, /v3/api-docs
## bpm-server 服务
- id: bpm-admin-api # 路由的编号
uri: grayLb://rdms-bpm-server
predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
- Path=/admin-api/bpm/**
filters:
- RewritePath=/admin-api/bpm/v3/api-docs, /v3/api-docs
x-forwarded:
prefix-enabled: false # 避免 Swagger 重复带上额外的 /admin-api/system 前缀
default-filters:
- DedupeResponseHeader=Access-Control-Allow-Credentials Access-Control-Allow-Origin # 采用 https://github.com/spring-cloud/spring-cloud-gateway/pull/866 解决响应头重复问题
server:
port: 48080
# 日志配置logging.file.name + level已整体外置到 Nacos gateway-server.yaml按环境统一管理本地不再定义以免覆盖。
# Actuator 监控端点的配置项
management:
endpoints:
web:
base-path: /actuator # Actuator 提供的 API 接口的根目录
exposure:
include: '*' # 开放所有端点
knife4j:
# 聚合 Swagger 文档,参考 https://doc.xiaominfo.com/docs/action/springcloud-gateway 文档
gateway:
enabled: true
routes:
- name: system-server
service-name: rdms-system-server
url: /admin-api/system/v3/api-docs
- name: project-server
service-name: rdms-project-server
url: /admin-api/project/v3/api-docs
- name: bpm-server
service-name: bpm-server
url: /admin-api/bpm/v3/api-docs
--- #################### 灿能相关配置 ####################
rdms:
info:
version: 1.0.0