基于Activiti实现的任务调度中心(一)
博客专区 > 6pker 的博客 > 博客详情
基于Activiti实现的任务调度中心(一)
6pker 发表于6个月前
基于Activiti实现的任务调度中心(一)
  • 发表于 6个月前
  • 阅读 916
  • 收藏 55
  • 点赞 3
  • 评论 13

腾讯云 新注册用户 域名抢购1元起>>>   

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

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

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


 

流程定义部署记录

 

流程定义管理

 

流程实例管理

 

异步任务管理

 

历史记录查询

 

运行中的流程实例统计

 

Activiti引擎调教参数

 

ServiceTask耗时分析

 

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

 

开发调试


预警邮件总开关

共有 人打赏支持
粉丝 49
博文 97
码字总数 59339
评论 (13)
吴汉宏
期待后续
长安俞白眉
打什么马赛克 我们看到了能咋地 还能黑了你啊
不愿透露姓名的Mr成
好喜欢,有地址吗?
铂金小哥
期待
6pker

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

打什么马赛克 我们看到了能咋地 还能黑了你啊
毕竟是给公司做的,不太合适
6pker

引用来自“Mr成”的评论

好喜欢,有地址吗?
公司的项目,没有在公网上
蓝水晶飞机
我想探讨下,Activiti的调度定时稳定性如何?
6pker

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

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

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

你这是用的啥开源框架
你是指ui吗?ui用的是h-ui
伟丶
不知道工作流的任务调度中心意义在哪方面,如果只是任务调度中心的话QUARTZ和SPRING-BATCH不是做的更好么。如果为了流程办理触发,可以使用流程监听呀:flushed::flushed:
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:

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

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