易鹏框架配置
📦 Minio配置
MinIO用于文件管理,包括上传、下载等功能- 配置位于公共配置文件中(
Nacos中的yipeng.core.yaml配置文件)
yaml
kp:
minio:
url: http://127.0.0.1:9000 # 访问地址
user-name: username #用户名
password: password #密码🔒 Sentinel微服务保护控制
Sentinel可以进行流量控制、熔断降级、系统负载保护等操作Sentinel配置位于网关的配置文件中(Nacos中的gateway配置文件)dashboard表示Sentinel部署地址client-ip表示服务部署的公网地址,如果您的网关以及所有业务系统和Sentinel在一个局域网内可以通信,则无需添加该配置;如果多个服务器内网地址无法通信,则需要添加- 补充:
Sentinel具体用法请参考文档 Sentinel官方文档
yaml
spring:
cloud:
sentinel:
transport:
dashboard: IP:端口
client-ip: IP:端口🗃️ Flyway配置
- 易鹏框架使用Flyway进行数据库版本管理
- Flyway配置位于公共配置文件中(
Nacos中的yipeng.core.yaml配置文件) - Flyway默认处于开启状态,可以在配置文件中关闭
- Flyway可以初始化数据表及数据
- 用户每次修改数据库时,在
resources->db文件夹下创建版本SQL文件,然后使用SQL语句进行新增、删除、修改字段等操作,这样重新启动项目时会自动执行,避免代码上线正式环境后忘记修改数据库
yaml
spring:
flyway:
enabled: true # 是否开启 Flyway
encoding: UTF-8 # 设置数据库编码格式
locations: classpath:db # 设置 Flyway 的 SQL 文件位置
baselineOnMigrate: true # 是否在迁移过程中执行基线操作
sqlMigrationPrefix: V # 设置 SQL 文件前缀
sqlMigrationSeparator: _ # 设置 SQL 文件分隔符
sqlMigrationSuffixes: sql # 设置 SQL 文件后缀
validateOnMigrate: true # 是否在迁移过程中验证数据库⏰ XXL-JOB分布式任务调度
- 在需要分布式任务调度的项目中添加以下配置
addresses:XXL-JOB Admin地址appname:XXL-JOB Admin名称,建议使用微服务名称$address:如果不进行内网穿透,建议为空ip:如果没有特殊情况(如多网卡或服务器内网无法交互),填写公网IP,其他情况为空port:自动发现注册端口。易鹏做了优化,例如部署集群时无需修改这个端口,配置文件放在Nacos中,项目启动时自动检查设置的端口是否被占用,如果占用就+1,直到遇到未占用的端口然后完成注册,减少做集群时需要把配置信息放在多个地方、每个服务都要修改端口号的情况- 如果不需要使用XXL-JOB,无需添加该配置
yaml
xxl:
job:
admin:
addresses: http://127.0.0.1:8080/xxl-job-admin
accessToken: default_token # xxl-job-admin权限验证TOKEN
timeout: 3
executor:
appname: ${spring.application.name}
address:
ip:
port: 10000
logpath: /data/applogs/xxl-job/jobhandler
logretentiondays: 30
🔑 用户Token配置
- 在
kp.token节点下配置用户登录信息 - 配置位于公共配置文件中(
Nacos中的yipeng.core.yaml配置文件) - 如果要设置是否允许同一账号多人登录,可以配置
multiAccess属性
yam
kp:
token:
header: Authorization # JWT令牌请求头名称
secret: abcdefghijklmnopqrstuvwxyz # JWT签名密钥
expireTime: 36000 # 令牌过期时间(秒)默认 1800 30分钟
head: Bearer # 令牌类型前缀(如Bearer Token) 默认 Bearer
multiAccess: false # 是否允许同一账号多人登录 默认false👤 用户账号相关配置
- 配置位于鉴权系统配置文件中(
Nacos中的authentication配置文件) error-number:登录失败最大锁定次数lock-time:登录失败锁定时间,单位为分钟,默认24小时default-password:用户默认密码,默认123456
yam
kp:
user:
error-number: 5 #登录失败最大锁定次数 默认 5
lock-time: 1440 #锁定时间 单位 分 默认 24小时
default-password: 123456 # 默认用户密码 默认 123456🛡️ 配置域名访问白名单
- 框架默认以
open开头的地址都不需要登录即可访问,建议如果接口无需登录就能访问,以open开头命名接口 - 新增项目的白名单就在对应系统的配置文件中添加即可,如在鉴权系统配置,在
Nacos中authentication配置文件新增 - 配置方式按照以下配置即可。
yam
kp:
white:
urls:
- /project/select
- /user/login/**🏷️ 配置项目名称
- 在每个单独的项目中必须配置项目名称
- 日志记录中的项目名取值就是从这里获取
@KPObjectChangeLogNote和@KPObjectChangeLogListNote记录字段改变中的项目名称也是从此处获取
yam
kp:
project-name: 鉴权项目 # 项目名称
🔓 配置免密登录的项目
- 如果某个项目在某些特殊场景下需要进行免密登录,须进行以下配置
- 配置位于鉴权系统配置文件中(
Nacos中的authentication配置文件) - 在
green-channel-login列表中把所需免密的项目编号添加进去,然后调用免密登录接口即可
yam
kp:
project-name: 鉴权项目 # 项目名称
green-channel-login: # 可以进行免密登录的项目编号
- authentication
📝 日志记录开关相关配置
- 配置是否记录日志
- 配置在
yipeng.core.yaml中对所有项目都生效,如果想单独改变某个项目就配置在对应项目的配置文件中 interface-log:是否记录接口调用日志,默认truehttp-log:是否记录HTTP调用日志,默认true- 如果不需要改变默认内容,无需添加该配置
yam
kp:
log:
interface-log: true
http-log: true📊 MQ日志相关配置
- 配置位于鉴权系统配置文件中(
Nacos中的authentication配置文件) interface-consume-num:接口记录日志消费条数(多少条入一次数据库),默认100http-consume-num:HTTP记录日志消费条数(多少条入一次数据库),默认20interface-Archive-Day:接口记录日志归档天数,多少天以前的归档,默认30http-Archive-Day:HTTP记录日志归档天数,多少天以前的归档,默认30
yam
kp:
mq:
interface-consume-num: 10 #接口记录日志 消费条数(多少条入一次数据库) 默认 100
http-consume-num: 1 # http记录日志 消费条数(多少条入一次数据库) 默认 20
interface-Archive-Day: 30 #接口记录日志归档天数 多少天以前的归档
http-Archive-Day: 60 #http记录日志归档天数 多少天以前的归档⚙️ 线程池相关配置
- 易鹏框架对线程池进行了封装
- 配置在
yipeng.core.yaml中对所有项目都生效,如果想单独改变某个项目就配置在对应项目的配置文件中 - 如果不需要改变默认内容,无需添加该配置
yam
kp:
task-executor:
core-pool-size: 3 # 初始创建的线程数 默认 3
max-pool-size: 8 # 最大线程数 默认 8
queue-capacity: 200 #队列最大长度 300
keep-alive-seconds: 300 # 线程空闲时间,超过此时间的空闲线程将被销毁 默认 300 单位秒- 以上配置说明:当前线程池
(kpExecutorService)默认维护3个核心线程,最大可扩容至8个线程,任务队列容量为200;当提交任务时,前3个任务会由核心线程直接执行,第4至204个任务会进入队列等待核心线程空闲后处理,若任务总数超过204个,线程池会按需将线程数从3个扩容至8个来处理超额任务;若任务数进一步超出"8个线程+200个队列"的承载上限,将触发CallerRunsPolicy拒绝策略,由提交任务的调用线程(非"主线程")直接执行任务,确保任务不丢失。 - 具体使用方式请参考使用说明
🕐 注解定时器配置
- 易鹏框架对注解定时器
{@Scheduled(cron = "0 0 1 * * ?")}进行了封装 - 配置在
yipeng.core.yaml中对所有项目都生效,如果想单独改变某个项目就配置在对应项目的配置文件中 - 如果不需要改变默认内容,无需添加该配置
yam
kp:
task:
pool-size: 5 # 线程池大小 默认 5🔄 @Async线程相关配置
- 易鹏框架对
@Async进行了封装 - 配置在
yipeng.core.yaml中对所有项目都生效,如果想单独改变某个项目就配置在对应项目的配置文件中 - 如果不需要改变默认内容,无需添加该配置
yam
kp:
async:
core-pool-size: 5 # 初始化线程数 默认 5
max-pool-size: 10 # 最大线程数 默认 10
queue-capacity: 200 # 队列最大长度 200
keep-alive-seconds: 60 # 线程空闲时间,超过此时间的空闲线程将被销毁 默认 60 单位秒