这周领导交代了一个任务,关于我们平台智能化工具多租户调用需要设计一个任务调度平台,该平台满足以下特点:
1.多个智能化工具还未部署,工具处理量有限,最基本的异步排队消息队列,支持任务阻塞; 2.优先级调用,不同租户下用户调用智能化工具的优先级不同,先排队的任务可能会被后进的任务插队(未细化); 3.任务处理消息结果反馈与查询; 4.....
本人没有在实际的互联网或者软件公司实习、工作过,在这部分没有什么经验,正处于一个学习中的小白,请教一下大家有没有比较优雅的方案,或者说能够给点建议和观点谢谢,用 kafka 实现是否能够完全满足目前以及今后的需求?
1
MatthewHan OP 😢
|
2
wysnylc 2019-08-23 11:52:45 +08:00
xxl-job 一个成熟的分布式任务调度平台
|
3
wysnylc 2019-08-23 11:53:31 +08:00
等等,你这个不是用框架能解决的,这是业务需求!
|
4
autogen 2019-08-23 12:28:42 +08:00
这个一般都是塞 DB,再用另一个程序查 DB 做任务
|
5
caoyouming 2019-08-23 12:58:48 +08:00
airflow 分布式任务调度系统了解一下?
|
6
lhx2008 2019-08-23 12:59:58 +08:00 via Android
塞 DB+死循环就行,没有那么复杂
|
7
Takamine 2019-08-23 14:04:43 +08:00 via Android
你们是要做一个平台,Kafka 只是一个中间件,这是是两个概念吧。
|
8
luozic 2019-08-23 14:10:08 +08:00
kafka 是一个消息队列,调度之后的消息处理倒是可以扔给 kafka,前面的调度还是得你自己搞
|
9
jswh 2019-08-23 14:42:24 +08:00
你这是业务需求 + 1
kafka 这种只是消息队列,不会管到这么细致的。 |
10
EastLord 2019-08-23 15:25:44 +08:00
azkaban?
|
11
MatthewHan OP @lhx2008 这样对资源的消耗怎么样?
|
12
jsnjfz 2019-08-23 19:18:33 +08:00
没有开发经验。。。只能求助外力了吧
|
13
wind3110991 2019-08-23 21:48:56 +08:00 1
楼上很多答非所问,你这个用 kafka 或者 redis 调度都是可以的,就是抽象成一个生产者消费者模型就好。
kafka 消息队列中间件最大的好处,就是可以解耦复杂系统之间的依赖关系, 设计多个 Topic,用来存放不同优先级的消息,消费者端优先处理高优先级 topic 即可,你这个都不需要保证消息先后顺序。 消息处理后的结果,看数量级是否巨大,较小百万以下,直接 Mysql 分表搞定,千万上亿量级用 Hbase 或者 ES 来存储和查询,涉及分布式计算协同和汇总结果的,考虑用 kafka stream 或者 flink 方案。 |
14
reus 2019-08-24 16:02:15 +08:00
向你领导提一个建议,招一个专业人士来做专业的工作
|
15
luozic 2019-08-24 17:31:47 +08:00
锤子的确可以通过别的方式模拟别的东西,但是啥都用锤子 mock,请问啥叫 DDD。
|