简单作业调度系统demo思考:
工程思想目标
-
1.可配置
-
2.稳定性
-
2.可扩展
-
3.高性能
1.作业调度系统的需求背景:
由A城的人员在web上发出http请求,从city1的aws s3上按照指定作业http请求,发起查询某时间段的数据,并将数据发送到指定的http端口地址,同时在city2使用flume获取http的数据流,并将数据转换为文件sink到本地的磁盘。
2.作业调度系统的开展思路
使用组件flume1.9 + jkd1.8+aws s3和hadoop的相关包,并使用spring-boot完成该作业调度系统,要求改作业调度系统可配置,稳定性、(适当可扩展、高性能)。
3.作业调度系统的具体实现
1.使用spring-boot构架你一个简单的demo,实现按照时间的发起作业查询请求,如下:
后台作业调度请求任务放入指定的数据库sqliteDB中,需要对跨天的作业时间段拆分为按天分解的作业批次,例如
2019/07/16 08:00:00 - 2019/07/18 13:00:00 拆分为指定的天数,要求任务不能跨天,一共可以拆分出3天。
然后根据S3中对象查询规则,使用前缀匹配查询,将数据发送到http的指定地址中,然后在city2异地使用flume自定义source和sink的规则,将数据写入到本地文件系统(或者磁盘中)。