Minio配置

  • minio用于文件管理、包括上传 下载等
  • 在公共配置文件中(nacos里 kunpeng.core.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官方文档
spring:
  cloud:
    sentinel: 
      transport:
        dashboard: IP:端口 
        client-ip: IP:端口 

flyway 配置

  • 昆鹏框架使用flyway进行数据库版本管理
  • flyway 配置 在公共配置文件中(nacos里 kunpeng.core.yaml 配置文件)
  • flyway 默认是开启状态、可以在配置文件中关闭
  • flyway 可以初始化数据表以及数据
  • 用户每次修改数据库在 resources->db 文件夹下创建版本文件sql 然后使用sql语句新增 删除 修改字段 这样重新启动项目会自动执行 避免代码上正式环境后忘记修改数据库
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名称 建议使用微服务名称 ${spring.application.name}
  • address 如果不进行内网穿透 建议为空
  • ip 如果没有特殊情况 如多网卡 或者服务器内网不能交互 写公网ip 其他情况为空
  • port 自动发现注册端口 昆鹏做了优化 例如 如果部署集群 无需修改这个端口 配置文件放在nacos里面 项目启动时自动检查设置的端口是否被占用 如果占用就+1 直到遇到没有占用的端口然后完成注册 减少做集群时 需要把配置信息放在多个地方 每个服务都要修改端口号
  • 如果不需要使用xxl-job,无需添加该配置
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里 kunpeng.core.yaml 配置文件)
  • 如何要设置 是否允许同一账号多人登录 可以配置 multiAccess属性
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
kp:
  user:
    error-number: 5 #登录失败最大锁定次数 默认 5 
    lock-time: 1440 #锁定时间 单位 分 默认 24小时
    default-password: 123456 # 默认用户密码 默认 123456

配置域名访问白名单

  • 框架默认以open开头的地址全部不需要登录即可访问,建议如果接口无需登录就能访问 以 open开头命名接口
  • 新增那个项目的白名单就在对应系统的配置文件中添加即可 如在鉴权系统配置 在nacos里authentication配置文件新增
  • 配置方式按以下配置即可。
kp:
  white:
    urls:
      - /project/select
      - /user/login/**

配置项目名称

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

效果图 img21

配置免密登录的项目

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

效果图 img22

RabbitMQ相关配置

  • 在鉴权系统配置文件中 (nacos里 authentication 配置文件)
  • interface-consume-num 接口记录日志 消费条数(多少条入一次数据库) 默认 100
  • http-consume-num http记录日志 消费条数(多少条入一次数据库) 默认 20
kp:
  mq:
    interface-consume-num: 10 #接口记录日志 消费条数(多少条入一次数据库) 默认 100
    http-consume-num: 3 # http记录日志 消费条数(多少条入一次数据库) 默认 20

接口记录相关配置

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

线程池相关配置

  • 昆鹏框架对线程池进行了封装
  • 配置在kunpeng.core.yaml 里所有项目都生效 如果想单独改变某个项目就配置在对应项目的配置文件中
  • 如果不需要改变默认内容,无需添加该配置
kp:
  task-executor:
    core-pool-size: 6 # 初始创建的线程数 默认 6 
    max-pool-size: 200 # 最大线程数 默认 200
    queue-capacity: 1000 #队列最大长度 200
    keep-alive-seconds: 300 # 线程空闲时间,超过此时间的空闲线程将被销毁 默认 300 单位秒

注解定时器配置

  • 昆鹏框架对注解定时器{@Scheduled(cron = "0 0 1 * * ?")}进行了封装
  • 配置在kunpeng.core.yaml 里所有项目都生效 如果想单独改变某个项目就配置在对应项目的配置文件中
  • 如果不需要改变默认内容,无需添加该配置
kp:
  task:
    pool-size: 5 # 线程池大小 默认 5 

@Async线程相关配置

  • 昆鹏框架对@Async进行了封装
  • 配置在kunpeng.core.yaml 里所有项目都生效 如果想单独改变某个项目就配置在对应项目的配置文件中
  • 如果不需要改变默认内容,无需添加该配置
kp:
  async:
    core-pool-size: 5 # 初始化线程数 默认 5
    max-pool-size: 10 # 最大线程数 默认 10
    queue-capacity: 200 # 队列最大长度 200
    keep-alive-seconds: 60 # 线程空闲时间,超过此时间的空闲线程将被销毁 默认 60 单位秒