文档章节

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

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

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

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

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


 

流程定义部署记录

 

流程定义管理

 

流程实例管理

 

异步任务管理

 

历史记录查询

 

运行中的流程实例统计

 

Activiti引擎调教参数

 

ServiceTask耗时分析

 

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

 

开发调试


预警邮件总开关

© 著作权归作者所有

共有 人打赏支持
6pker
粉丝 52
博文 97
码字总数 59252
作品 0
浦东
程序员
私信 提问
加载中

评论(13)

伟丶
伟丶

引用来自“伟丶”的评论

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

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

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

引用来自“伟丶”的评论

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

一、前言 上篇博文《浅谈Activiti工作流引擎用户管理》中已介绍了如何自定义自己的用户管理模块。然而困恼大多数新手的另一个问题:如何将任务分配给有层级关系的组织结构用户呢?例如,我只...

qllinhongyu
2015/05/30
0
0
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
5.1K
27

没有更多内容

加载失败,请刷新页面

加载更多

Confluence 6 自定义你的空间

通过对你的空间进行界面的自定义能够让你的空间更加出类拔萃。 如果你具有空间管理员权限,你可以修改你空间的颜色配色,添加你自己的空间标识,选择是否在你空间中显示边栏。或者你可以进入...

honeymose
今天
1
0
Ubuntu18.04 安装MySQL

1.安装MySQL sudo apt-get install mysql-server 2.配置MySQL sudo mysql_secure_installation 3.设置MySQL非root用户 设置原因:配置过程为系统root权限,在构建MySQL连接时出现错误:ERROR...

AI_SKI
今天
3
0
3.6 rc脚本(start方法) 3.7 rc脚本(stop和status方法) 3.8 rc脚本(以daemon方式启动)

3.6-3.7 rc脚本(start、stop和status方法) #!/usr/bin/env python# -*- coding: utf-8 -*-# [@Version](https://my.oschina.net/u/931210) : python 2.7# [@Time](https://my.oschina.......

隐匿的蚂蚁
今天
3
0
Cnn学习相关博客

CNN卷积神经网络原理讲解+图片识别应用(附源码) 笨方法学习CNN图像识别系列 深度学习图像识别项目(中):Keras和卷积神经网络(CNN) 卷积神经网络模型部署到移动设备 使用CNN神经网络进行...

-九天-
昨天
5
0
flutter 底部输入框 聊天输入框 Flexible

想在页面底部放个输入框,结果键盘一直遮住了,原来是布局问题 Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("评论"), ...

大灰狼wow
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部