Skip to content

cminirice/pm

Repository files navigation

流程制作管理平台是一个基于zookeeper的流程制作、执行的平台,分为管理平台和执行容器。使用该平台的用户,可以根据规范开发适合自己业务的组件,通过注册平台注册到系统,然后在平台把各个组件连接成流程图,最后选择某一个执行容器执行即可。关于流程制作管理平台的背景请参考 从定时任务到流程引擎,数据注入方式的演变

依赖三方组件:

zookeeper-3.4.6
rabbitmq-3.1.5
jdk 7

技术:

springboot	
zookeeper	
Rpc:zookeeper, protostuff,spring,netty	
Gooflow	
Jsp+jquery	

系统优点:

实现与业务完全脱离,功能全部由组件和流程决定
再也不用因为修改功能而登陆服务器重新服务,当组件修改时,只需要把组件卸载重新注册即可,如果是正在容器中执行的组件,需要先把流程从容器中删除,待重新注册完后,重新把相关流程添加到容器执行。
平台无数据库,用到的数据全部存储在zookeeper上,平台和容器天生支持集群部署	
支持多种类型的组件
组件产生的中间数据可以放在MQ上或者内存中,改换消息队列不需要修改组件,只需要修改流程配置即可,目前支持的MQ有rabbitMQ、zookeeper、kaffka、进程内部队列。
容器定时上报心跳信息,方便平台监控容器的状态,心跳异常邮件	
组件开发简单,降低开发人员门槛	

支持组件类型:

单次执行任务
周期执行		
定时执行一个功能	
发布一个HTTP接口

支持的业务类型

单次执行组件:单次执行的组件和HTTP类型的组件,可以结合起来,实现工具类型的数据统计、数据导出、数据清理等业务
周期执行组件:可以用来·大数据计算·、日志处理、周期执行的业务
定时执行组件:适合有固定周期的数据统计、导出,在·大数据计算·方面没有周期执行组件即时性强
HTTP组件:适合发布REST接口、可以把HTTP协议接口的数据转到MQ消息队列缓解接口处理压力

流程制作管理平台适合上面业务,但并不局限于此。只要你的业务可以拆分成单个小功能,总可以在本平台找到合适你的使用场景。本平台还在持续更新中,欢迎提出宝贵的意见和建议。