文档章节

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

6pker
 6pker
发布于 2017/06/03 01:29
字数 268
阅读 1034
收藏 55
点赞 3
评论 13

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

大概罗列一下涉及到的技术:
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 ⋅ 33

两个分布式batch调度方案的比较

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

ice_stream ⋅ 2015/09/02 ⋅ 1

taobao-pamirs-schedule2.0设计和实现的局限性

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

杨武兵 ⋅ 2016/03/14 ⋅ 5

XXL-JOB v1.5.0 发布,分布式任务调度平台

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

许雪里 ⋅ 2016/10/08 ⋅ 27

任务调度系统 xxl-job,新版本 V1.4.0 新特性速览

分布式任务调度系统 xxl-job新版本V1.4.0更新内容: 1、任务依赖: 通过事件触发方式实现, 任务执行成功并回调时会主动触发一次子任务的调度; 2、执行器底层实现代码进行重度重构, 优化底层建...

许雪里 ⋅ 2016/07/24 ⋅ 8

justlive1/earth-frost

earth-frost earth-frost是一个轻量级分布式任务调度框架。 介绍 调度模块和执行模块分离 使用redis作为数据库 基于订阅模式实现服务注册和发现 功能 简单易上手,支持web界面进行任务的CRU...

justlive1 ⋅ 04/28 ⋅ 0

Activiti用户任务分配

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

qllinhongyu ⋅ 2015/05/30 ⋅ 0

Activiti工作流引擎初学教程

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

孟飞阳 ⋅ 2016/07/31 ⋅ 0

详解当当网的分布式作业框架elastic-job

作业的必要性以及存在的问题 1. 为什么需要作业? 作业即定时任务。一般来说,系统可使用消息传递代替部分使用作业的场景。两者确有相似之处。可互相替换的场景,如队列表。将待处理的数据放...

HenrySun ⋅ 2016/04/19 ⋅ 0

基于 Redis 的分布式任务调度框架 - earth-frost

earth-frost earth-frost是一个轻量级分布式任务调度框架。 介绍 调度模块和执行模块分离 使用redis作为数据库 基于订阅模式实现服务注册和发现 演示地址: http://www.justlive.vip (请勿恶...

justlive1 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

关于“幂等”操作

一个幂等(idempotent)操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同. 开发中, 我们经常考虑幂等操作的场景有“接口调用”、“MQ消费”、“自动任务”等 接口调用, 可能出现...

零二一七 ⋅ 17分钟前 ⋅ 0

Dubbo服务服务暴露之ProxyFactory Invoker

Dubbo服务暴露过程中有涉及到调用ProxyFactory 中方法获取Invoker对象的过程,现在我们来深究下源码,来看下这个过程是在做些什么,返回的Invoker 对象是什么,我们来看一下代码的切入点: ...

哲别0 ⋅ 31分钟前 ⋅ 0

GP两种连接方式性能测试

GP两种连接方式性能测试 Pivotal import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; public class GPQueryStrin......

仔仔1993 ⋅ 36分钟前 ⋅ 0

jsonrpc-4j代码解析

解析文件 AutoJsonRpcServiceImplExporter JsonServiceExporter AutoJsonRpcServiceImplExporter 路径:com.googlecode.jsonrpc4j.spring.AutoJsonRpcServiceImplExporter AutoJsonRpcServi......

郭恩洲_OSC博客 ⋅ 57分钟前 ⋅ 0

百度搜索

from selenium import webdriver import time brower=webdriver.Firefox() brower.get('http://www.baidu.com') input=brower.find_element_by_id('kw') input.send_keys('中南大学') time.s......

南桥北木 ⋅ 今天 ⋅ 0

tomcat 日志记录器

1、日志记录器是记录消息的组件 日志记录器需要与某个servlet 容器相关联 2、Logger 接口 共定义了5种日志级别:FATAL、ERROR、WARNING、INFORMATION、DEBUGGER setVerbosity 设置级别 setC...

职业搬砖20年 ⋅ 今天 ⋅ 0

Thrift RPC实战(三) Thrift序列化机制

1.Thrift基础架构 Thrift是一个客户端和服务端的架构体系,数据通过socket传输; 具有自己内部定义的传输协议规范(TProtocol)和传输数据标准(TTransports); 通过IDL脚本对传输数据的数据结构...

lemonLove ⋅ 今天 ⋅ 0

网站建设就要像2018世界杯的俄罗斯队大杀四方[图]

今天心情不错,因为昨天晚上观看了世界杯比赛,尤其是对俄罗斯队的大杀四方感到十分霸气侧漏啊,因此我联想到了自己的博客网站,我的博客是去年年底上线的,一直想建设一个关于读书和读后感作...

原创小博客 ⋅ 今天 ⋅ 0

linux 信号机制

signal(SIGPIPE, SIG_IGN); TCP是全双工的信道, 可以看作两条单工信道, TCP连接两端的两个端点各负责一条. 当对端调用close时, 虽然本意是关闭整个两条信道, 但本端只是收到FIN包. 按照TCP协...

xxdd ⋅ 今天 ⋅ 0

my.cnf, my-small.cnf, my-medium.cnf, my-large.cnf

1. my-small.cnf # Example MySQL config file for small systems.## This is for a system with little memory (<= 64M) where MySQL is only used# from time to time and it's importa......

周云台 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部