文档章节

基于Activiti实现的任务调度中心(一)

6pker
 6pker
发布于 2017/06/03 01:29
字数 268
阅读 1143
收藏 55

先上截图,有图有真相,当然能看到的东西都只是表像,希望后面有时间陆续介绍整体架构、适用于什么业务场景、遇到了什么问题、如何解决的等等。

大概罗列一下涉及到的技术:
SpringMVC, MyBatis, JNDI, Redis, ZooKeeper, Docker, Nginx, Tomcat, MySQL, 分布式事务, 分布式锁,分布式Session,线程池,多线程,存储过程,Activiti,RabbitMQ,限流机制,服务降级机制,熔断机制,乐观锁,SFTP,批量同步(删除)千万级历史数据,定时任务,重试机制,预警机制,补偿机制,状态一致性问题等等。

首页,主要显示异步任务调度运行情况。


 

流程定义部署记录

 

流程定义管理

 

流程实例管理

 

异步任务管理

 

历史记录查询

 

运行中的流程实例统计

 

Activiti引擎调教参数

 

ServiceTask耗时分析

 

当前服务器线程池分析统计

 

开发调试


预警邮件总开关

© 著作权归作者所有

共有 人打赏支持
6pker
粉丝 51
博文 98
码字总数 59361
作品 0
浦东
程序员
加载中

评论(13)

伟丶
伟丶

引用来自“伟丶”的评论

不知道工作流的任务调度中心意义在哪方面,如果只是任务调度中心的话QUARTZ和SPRING-BATCH不是做的更好么。如果为了流程办理触发,可以使用流程监听呀:flushed::flushed:

引用来自“菜鸟在路上”的评论

这其实也要看有没有这样的应用场景了,如果只是一些很简单的任务调度,QUARTZ和SPRING-BATCH的确可以胜任调度的工作。 可能我这标题和文章内容写得不够确切,我这其实是在微服务背景下做“分布式任务调度”,或者说是“分布式任务编排”。在微服务架构下更需要通过各微服务之间的协作来实现一个完整的业务流程,可以说服务编排是微服务架构下的必备技能。但是,编排涉及到RPC、分布式事务等等,编排的质量不能仅仅取决于老师傅的手艺,需要有完善的编排框架来支撑。而我这里是使用了Activiti作为编排框架。编排框架的选择其实还有很多,例如如用SparkStream也可实现任务编排的功能,只是我们公司根据目前业务量选择的是Activiti。如果感兴趣,这两篇文章值得一读。《服务都微了,编排怎么整?》https://toutiao.io/posts/l2m2lc。还有就是《使用BPMN和微服务进行编排 ——是好做法还是坏做法?》http://blog.csdn.net/saaspad/article/details/52846799
:smile:没怎么做过微服务、分布式的东西。学习了。
6pker
6pker

引用来自“伟丶”的评论

不知道工作流的任务调度中心意义在哪方面,如果只是任务调度中心的话QUARTZ和SPRING-BATCH不是做的更好么。如果为了流程办理触发,可以使用流程监听呀:flushed::flushed:
这其实也要看有没有这样的应用场景了,如果只是一些很简单的任务调度,QUARTZ和SPRING-BATCH的确可以胜任调度的工作。 可能我这标题和文章内容写得不够确切,我这其实是在微服务背景下做“分布式任务调度”,或者说是“分布式任务编排”。在微服务架构下更需要通过各微服务之间的协作来实现一个完整的业务流程,可以说服务编排是微服务架构下的必备技能。但是,编排涉及到RPC、分布式事务等等,编排的质量不能仅仅取决于老师傅的手艺,需要有完善的编排框架来支撑。而我这里是使用了Activiti作为编排框架。编排框架的选择其实还有很多,例如如用SparkStream也可实现任务编排的功能,只是我们公司根据目前业务量选择的是Activiti。如果感兴趣,这两篇文章值得一读。《服务都微了,编排怎么整?》https://toutiao.io/posts/l2m2lc。还有就是《使用BPMN和微服务进行编排 ——是好做法还是坏做法?》http://blog.csdn.net/saaspad/article/details/52846799
伟丶
伟丶
不知道工作流的任务调度中心意义在哪方面,如果只是任务调度中心的话QUARTZ和SPRING-BATCH不是做的更好么。如果为了流程办理触发,可以使用流程监听呀:flushed::flushed:
6pker
6pker

引用来自“大头圆”的评论

你这是用的啥开源框架
你是指ui吗?ui用的是h-ui
大头圆
大头圆
你这是用的啥开源框架
6pker
6pker

引用来自“蓝水晶飞机”的评论

我想探讨下,Activiti的调度定时稳定性如何?
稳定性和Activiti引擎的参数相关,比如线程池参数、以及AsyncExecutor相关参数等。原理是很简单,每一条job都会落地成数据库的一条记录,其中的一个字段记录该job的执行时间点,每个job默认有三次执行的机会,三次都失败后需要人工介入或者补偿机制介入。另外Activiti利用乐观锁处理job被并发执行的问题。目前使用来看是相对稳定的。
蓝水晶飞机
蓝水晶飞机
我想探讨下,Activiti的调度定时稳定性如何?
6pker
6pker

引用来自“Mr成”的评论

好喜欢,有地址吗?
公司的项目,没有在公网上
6pker
6pker

引用来自“长安俞白眉”的评论

打什么马赛克 我们看到了能咋地 还能黑了你啊
毕竟是给公司做的,不太合适
铂金小哥
铂金小哥
期待
基于quartz的云调度中心实现

一、背景 作为业务开发人员,会经常需要写一个定时任务。目前,写定时任务应用最广泛最成熟的方案是OpenSymphony开源组织在任务调度领域的一个开源项目quartz,比如要写一个定时数据同步任务...

zjytk05
2016/05/19
0
33
两个分布式batch调度方案的比较

现在有两个方案,目的都是想提供一个分布式的任务调度执行框架. 背景:若干业务应用,均独立部署,需要做集群. 方案A: 一个调度中心(基于quartz),负责维护和调度job.某个job到点执行时,发送消息...

ice_stream
2015/09/02
1K
1
taobao-pamirs-schedule2.0设计和实现的局限性

不适合简单的少量任务调度 问题描述 非常简单的定时调度任务,只是定时触发执行任务,这个任务量是非常少的,单机实现就可以的任务,这种场景使用taobao-pamirs-schedule就会存在开发、配置和...

杨武兵
2016/03/14
216
5
XXL-JOB v1.5.0 发布,分布式任务调度平台

版本 V1.5.0 特性 1、任务注册: 执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。 2、"执行器" 新增参数 "AppName" : 是每个执行器集群的唯一标示AppName, 并周期性...

许雪里
2016/10/08
4.5K
27
Activiti工作流引擎初学教程

http://wenku.baidu.com/view/bb7364ad4693daef5ff73d32.html 1. 初识Activiti 1.1. 工作流与工作流引擎 工作流(workflow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起...

孟飞阳
2016/07/31
469
0

没有更多内容

加载失败,请刷新页面

加载更多

linux 系统的运行级别

运行级别 运行级别 | 含义 0 关机 1 单用户模式,可以想象为windows 的安全模式,主要用于修复系统 2 不完全的命令模式,不含NFS服务 3 完全的命令行模式,就是标准的字符界面 4 系统保留 5 ...

Linux学习笔记
今天
2
0
学习设计模式——命令模式

任何模式的出现,都是为了解决一些特定的场景的耦合问题,以达到对修改封闭,对扩展开放的效果。命令模式也不例外: 命令模式是为了解决命令的请求者和命令的实现者之间的耦合关系。 解决了这...

江左煤郎
今天
3
0
字典树收集(非线程安全,后续做线程安全改进)

将500W个单词放进一个数据结构进行存储,然后进行快速比对,判断一个单词是不是这个500W单词之中的;来了一个单词前缀,给出500w个单词中有多少个单词是该前缀. 1、这个需求首先需要设计好数据结...

算法之名
昨天
15
0
GRASP设计模式

此文参考了这篇博客,建议读者阅读原文。 面向对象(Object-Oriented,OO)是当下软件开发的主流方法。在OO分析与设计中,我们首先从问题领域中抽象出领域模型,在领域模型中以适当的粒度归纳...

克虏伯
昨天
1
0
Coding and Paper Letter(四十)

资源整理。 1 Coding: 1.Tomislav Hengl撰写的非官方作者指南:Michael Gould•Wouter Gerritsma。 UnofficialGuide4Authors 2.R语言包rwrfhydro,社区贡献的工具箱,用于管理,分析和可视化...

胖胖雕
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部