高分悬赏 求助系统设计!
System Design
设计一个类似cron(unix系统里的)的scheduler,系统需求是,用户发送很多task给我(scheduler),我需要schedule这些task,并且task传来的时候已经被规定好了运行时间,循环周期,内容,我们的系统需要执行所有的tasks。
#面试题目#
设计一个类似cron(unix系统里的)的scheduler,系统需求是,用户发送很多task给我(scheduler),我需要schedule这些task,并且task传来的时候已经被规定好了运行时间,循环周期,内容,我们的系统需要执行所有的tasks。
这个问题的难点在于,怎么来做这个定时任务。因为每秒钟都可能有任务要执行,所以不可能每秒钟都去读数据库。怎获取当前这一秒钟需要执行的任务,是这个问题的关键。
我自己的理解是用消息队列+数据库来解决,但具体怎么实施没有思路。
比如说,数据库怎么插入?怎么制定分库规则?怎么保证系统的延迟?如果有一个worker鼓掌了怎么办?如果用负载均衡分发任务,负载均衡如何知道每个处理器的工作量?
希望大家广开脑洞,回答的越具体越详细越好!追加金币!
希望大家广开脑洞,回答的越具体越详细越好!追加金币!