Skip to content

易鹏框架配置

📦 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

效果图 img31

🔑 用户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 开头命名接口
  • 新增项目的白名单就在对应系统的配置文件中添加即可,如在鉴权系统配置,在 Nacosauthentication 配置文件新增
  • 配置方式按照以下配置即可。
yam
kp:
  white:
    urls:
      - /project/select
      - /user/login/**

🏷️ 配置项目名称

  • 在每个单独的项目中必须配置项目名称
  • 日志记录中的项目名取值就是从这里获取
  • @KPObjectChangeLogNote@KPObjectChangeLogListNote 记录字段改变中的项目名称也是从此处获取
yam
kp:
  project-name: 鉴权项目 # 项目名称

效果图 img21

🔓 配置免密登录的项目

  • 如果某个项目在某些特殊场景下需要进行免密登录,须进行以下配置
  • 配置位于鉴权系统配置文件中( Nacos 中的 authentication 配置文件)
  • green-channel-login 列表中把所需免密的项目编号添加进去,然后调用免密登录接口即可
yam
kp:
  project-name: 鉴权项目 # 项目名称
  green-channel-login:  # 可以进行免密登录的项目编号
    - authentication

效果图 img22

📝 日志记录开关相关配置

  • 配置是否记录日志
  • 配置在 yipeng.core.yaml 中对所有项目都生效,如果想单独改变某个项目就配置在对应项目的配置文件中
  • interface-log:是否记录接口调用日志,默认 true
  • http-log:是否记录HTTP调用日志,默认 true
  • 如果不需要改变默认内容,无需添加该配置
yam
kp:
  log:
    interface-log: true
    http-log: true

📊 MQ日志相关配置

  • 配置位于鉴权系统配置文件中( Nacos 中的 authentication 配置文件)
  • interface-consume-num:接口记录日志消费条数(多少条入一次数据库),默认 100
  • http-consume-num:HTTP记录日志消费条数(多少条入一次数据库),默认 20
  • interface-Archive-Day:接口记录日志归档天数,多少天以前的归档,默认 30
  • http-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 个任务会由核心线程直接执行,第 4204 个任务会进入队列等待核心线程空闲后处理,若任务总数超过 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 单位秒