erp-java/nacos/examples/client-config/user-service-nacos.yml

217 lines
6.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.

# ==============================================================
# user-service Nacos配置示例
# 完整配置,复制到 src/main/resources/application.yml
# ==============================================================
server:
port: ${SERVER_PORT:8082}
servlet:
context-path: /user
tomcat:
threads:
max: 200
min-spare: 10
max-connections: 10000
accept-count: 100
spring:
application:
name: user-service
# 数据源配置
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://${MYSQL_HOST:localhost}:${MYSQL_PORT:3307}/erp_java?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: ${MYSQL_USER:erp_user}
password: ${MYSQL_PASSWORD:erp123456}
hikari:
connection-timeout: 30000
maximum-pool-size: 20
minimum-idle: 5
idle-timeout: 600000
max-lifetime: 1800000
connection-test-query: SELECT 1
pool-name: UserServiceHikariPool
# Redis配置
redis:
host: ${REDIS_HOST:localhost}
port: ${REDIS_PORT:6379}
password: ${REDIS_PASSWORD:redis123456}
database: 0
timeout: 3000ms
lettuce:
pool:
max-active: 20
max-idle: 10
min-idle: 5
# MyBatis配置
mybatis-plus:
configuration:
map-underscore-to-camel-case: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config:
db-config:
logic-delete-field: deletedAt
logic-delete-value: NOW()
logic-not-delete-value: NULL
# ==============================================================
# Spring Cloud Alibaba Nacos 配置(核心部分)
# ==============================================================
cloud:
nacos:
# ---------- 服务发现与注册 ----------
discovery:
# Nacos服务器地址集群模式用VIP
server-addr: ${NACOS_SERVER_ADDR:127.0.0.1:8848}
# 命名空间(环境隔离)
namespace: ${NACOS_NAMESPACE:public}
# 分组(业务隔离)
group: ${NACOS_GROUP:DEFAULT_GROUP}
# 实例ID格式${ip}#${port}#${cluster}#${serviceName}#${namespace}
instance-id: ${spring.cloud.nacos.discovery.ip}#${server.port}#DEFAULT#${spring.application.name}#${spring.cloud.nacos.discovery.namespace}
# 是否优先使用IP注册
prefer-ip-address: true
# IP地址容器环境自动检测VM环境可手动指定
# ip: ${SERVICE_IP:127.0.0.1}
# 端口(通常不用指定,会自动检测)
# port: ${SERVER_PORT:8082}
# 集群名称
cluster-name: DEFAULT
# 权重(负载均衡用)
weight: 1.0
# 实例数量(单机=1
instance-count: 1
# 是否开启实例预热(防止流量瞬间涌入)
instance-enabled-preheat: true
# ---------- 心跳配置 ----------
# 心跳间隔默认5秒
heart-beat-interval: 5000
# 心跳超时时间默认15秒
heart-beat-timeout: 15000
# 实例删除超时默认30秒
ip-delete-timeout: 30
# 是否开启优雅下线
enabled-healthy-rule: true
# ---------- 实例元数据 ----------
metadata:
version: ${SERVICE_VERSION:1.0.0}
environment: ${SPRING_PROFILES_ACTIVE:dev}
description: 用户服务 - 用户管理、认证、权限
owner: erp-team
protocol: http
tags: auth,user,permission
# ---------- 订阅 ----------
# 是否订阅服务变化(服务发现)
subscribe: true
# ---------- 配置中心 ----------
config:
enabled: true
server-addr: ${spring.cloud.nacos.discovery.server-addr}
namespace: ${NACOS_NAMESPACE:public}
group: ${NACOS_GROUP:DEFAULT_GROUP}
file-extension: yaml
# 刷新机制
refresh-enabled: true
# 共享配置
shared-configs:
- data-id: common-config.yaml
group: DEFAULT_GROUP
refresh: true
- data-id: redis-config.yaml
group: DEFAULT_GROUP
refresh: true
# 扩展配置
extension-configs:
- data-id: ${spring.application.name}-${spring.profiles.active}.yaml
group: ${NACOS_GROUP:DEFAULT_GROUP}
refresh: true
# ---------- 认证信息 ----------
username: ${NACOS_USERNAME:nacos}
password: ${NACOS_PASSWORD:nacos123456}
# profiles环境
profiles:
active: ${SPRING_PROFILES_ACTIVE:dev}
# ==============================================================
# Actuator健康检查配置
# ==============================================================
management:
endpoints:
web:
exposure:
include: health,info,metrics,env,prometheus
base-path: /actuator
endpoint:
health:
show-details: always
probes:
enabled: true
path: /actuator/health
info:
enabled: true
health:
nacos:
enabled: true
redis:
enabled: true
db:
enabled: true
metrics:
export:
prometheus:
enabled: true
tags:
application: ${spring.application.name}
# ==============================================================
# 日志配置
# ==============================================================
logging:
level:
com.erp.user: ${LOG_LEVEL_USER:DEBUG}
org.springframework.cloud.alibaba.nacos: ${LOG_LEVEL_NACOS:INFO}
com.alibaba.nacos: ${LOG_LEVEL_NACOS_CLIENT:INFO}
pattern:
console: "%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%X{traceId}] %-5level %logger{36} - %msg%n"
# ==============================================================
# JWT配置
# ==============================================================
jwt:
secret: ${JWT_SECRET:erp-java-backend-secret-key-for-jwt-signing-must-be-at-least-256-bits-long-2026}
access-token-expiration: 900
refresh-token-expiration: 604800
remember-me-expiration: 2592000
# ==============================================================
# 安全配置
# ==============================================================
security:
max-login-attempts: 5
lock-duration-minutes: 30
attempt-expire-minutes: 60
max-reset-attempts: 3
reset-attempt-expire-minutes: 60
reset-token-expiry-minutes: 30
password-history-size: 5
# ==============================================================
# 服务配置
# ==============================================================
service:
auth:
enabled: true
rate-limit:
enabled: true
capacity: 100
refill-rate: 10