Gobrs-Async Gobrs-Async
🚘首页
🧧指南
🍭FAQ
💖支持
🚨加入群聊
🍅GitEE (opens new window)
GitHub (opens new window)
🚘首页
🧧指南
🍭FAQ
💖支持
🚨加入群聊
🍅GitEE (opens new window)
GitHub (opens new window)
  • 🥪项目特性

    • 🍿框架设计
  • 🎒框架设计

    • 🥧简介
    • 🍿框架设计
      • 整体架构
      • 任务触发器
      • 规则解析引擎
      • 任务启动器
      • 任务加载器
      • 任务执行器
      • 任务总线
      • 核心类图
    • 🍍框架落地
  • 🍖快速开始

    • 🍔快速上手
    • 🌭框架集成
    • 🥤启动流程
    • 🍪流程参数
    • 🏝流程结果
  • 🥘规则配置

    • 🍅规则配置
  • 🥊任务类型

    • 🍅普通任务
    • 💥重试任务
    • ☄️事务任务
    • 🌈超时任务
    • ⛱方法任务
  • 🔥高级特性

    • 💐线程复用
    • 🧋运行日志
    • 🍜规则热更新
    • 🍑任务中断
    • 🌺可选子流程
    • 🌹状态流程
    • 🍒异常拦截
    • 🥪全局任务拦截
    • 🍏自定义线程池
    • 🍒可选的执行流程
  • 🚐插件

    • 🛻插件简介
    • 🏚监控系列

      • ⛽️skywalkiing
      • 🏖hippo4j
    • 🛸日志系列

      • 🚧全链路traceId
  • 🍿性能考量

    • 🍎框架压测
    • 🍹框架对比
    • 🧅版本号手册
  • 🌕展望

    • 🍊展望
  • 🍯联系作者

    • 🥐加群沟通
目录

🍿框架设计

Gobrs-Async 在设计时,就充分考虑了开发者的使用习惯, 没有依赖任何中间件。 对并发框架做了良好的封装。主要使用 CountDownLatch 、ReentrantLock 、volatile 等一系列并发技术开发设计。

# 整体架构


1.0

# 任务触发器

任务流的启动者, 负责启动任务执行流

# 规则解析引擎

负责解析使用者配置的规则,同时于Spring结合,将配置的 Spring Bean 解析成 TaskBean,进而通过解析引擎加载成 任务装饰器。进而组装成任务树

# 任务启动器

负责通过使用解析引擎解析的任务树。结合 JUC 并发框架调度实现对任务的统一管理,核心方法有

  • trigger 触发任务加载器,为加载任务准备环境

# 任务加载器

负责加载任务流程,开始调用任务执行器执行核心流程

  • load 核心任务流程方法,在这里阻塞等待整个任务流程
  • getBeginProcess 获取子任务开始流程
  • completed 任务完成
  • errorInterrupted 任务失败 中断任务流程
  • error 任务失败

# 任务执行器

最终的任务执行,每一个任务对应一个TaskActuator 任务的 拦截、异常、执行、线程复用 等必要条件判断都在这里处理

  • prepare 任务前置处理
  • preInterceptor 统一任务前置处理
  • task 核心任务方法,业务执行内容
  • postInterceptor 统一后置处理
  • onSuccess 任务执行成功回调
  • onFail 任务执行失败回调

# 任务总线

任务流程传递总线,包括 请求参数、任务加载器、 响应结果, 该对象暴露给使用者,拿到匹配业务的数据信息,例如: 返回结果、主动中断任务流程等功能 需要任务总线(TaskSupport)支持

# 核心类图

核心类图

技术小屋

大道至简,知易行难

架构师必经之路

精品学习资源

平凡的你我

快乐购物,享受生活

- name: 技术小屋
  desc: 大道至简,知易行难
  avatar: https://cdn.jsdelivr.net/gh/xugaoyi/image_store/blog/20200122153807.jpg # 可选
  link: https://docs.sizegang.cn/ # 可选
  bgColor: '#CBEAFA' # 可选,默认var(--bodyBg)。颜色值有#号时请添加单引号
  textColor: '#6854A1' # 可选,默认var(--textColor)
- name: 架构师必经之路
  desc: '精品学习资源'
  avatar: https://cdn.jsdelivr.net/gh/xaoxuu/assets@master/avatar/avatar.png
  link: https://learn.sizegang.cn
  bgColor: '#718971'
  textColor: '#fff'
- name: 平凡的你我
  desc: 快乐购物,享受生活
  avatar: https://reinness.com/avatar.png
  link: https://m.jd.com
  bgColor: '#FCDBA0'
  textColor: '#A05F2C'
Last Updated: 11/4/2022, 3:19:44 PM
🥧简介
🍍框架落地

← 🥧简介 🍍框架落地→

最近更新
更多文章>
Gobrs-Async | Copyright © 2022-2023 Memorydoc | Apache License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式