Architecture 如何为多种作业设计作业调度器?

Architecture 如何为多种作业设计作业调度器?,architecture,cluster-computing,instance,microservices,Architecture,Cluster Computing,Instance,Microservices,我是初级开发人员,想问一个关于作业调度器的设计/体系结构的问题 我正在为管理多个任务的调度器设计架构。 有多个类别(70多个),如电影、购物、食品。 每个类别都有三个或更多需要执行的任务。 因此,我的调度程序需要在需要时为每个类别执行任务。 每个类别的任务彼此独立。 因此,categoryA的任务可以根据时间表与categoryB的任务并行运行 所以,我有两种类型的设计,我想这样做。 一种是将每个类别作为单独的服务,在单个实例上运行。通过这种方式,它是模块化的,但即使没有为每个类别运行任务,系统

我是初级开发人员,想问一个关于作业调度器的设计/体系结构的问题

我正在为管理多个任务的调度器设计架构。 有多个类别(70多个),如电影、购物、食品。 每个类别都有三个或更多需要执行的任务。 因此,我的调度程序需要在需要时为每个类别执行任务。 每个类别的任务彼此独立。 因此,categoryA的任务可以根据时间表与categoryB的任务并行运行

所以,我有两种类型的设计,我想这样做。 一种是将每个类别作为单独的服务,在单个实例上运行。通过这种方式,它是模块化的,但即使没有为每个类别运行任务,系统也会消耗太多实例(超过70个)

类别1

  • 任务1
  • 任务2
  • 任务3

类别2

  • 任务1
  • 任务2
  • 任务3

类别3

  • 任务1
  • 任务2
  • 任务3

我的另一个想法是根据每个任务对类别进行分组。因此,每个任务本身成为一个模块,在每个任务中,都有属于不同类别的特定任务的集合

任务1

  • 任务1与类别1相关
  • 任务1与类别2相关
  • 任务1与类别3相关

任务2

  • 任务2与类别1相关
  • 任务2与类别2相关
  • 任务2与类别3相关

任务3

  • 任务3与类别1相关
  • 任务3与类别2相关
  • 任务3与类别3相关

你认为哪一个是更好的设计?我希望你能深入了解这一点。谢谢:)

调度作业必须具有以下基本功能

  • 调度作业
  • 计划外/删除计划作业
  • 基于优先级的处理(从长远来看会很有用),也许你 可以根据您拥有的类别确定优先级。在这里探索redis,因为它具有保存有序集的惊人功能

  • 我建议保持作业排队服务和作业处理服务(即工作人员)的不同,因为这将使您的应用程序能够作为一个黑匣子工作

    调度作业必须具有以下基本功能

  • 调度作业
  • 计划外/删除计划作业
  • 基于优先级的处理(从长远来看会很有用),也许你 可以根据您拥有的类别确定优先级。在这里探索redis,因为它具有保存有序集的惊人功能

  • 我建议保持作业排队服务和作业处理服务(即工人)的不同,因为这将使您的应用程序能够像一个黑箱一样工作

    老实说,作业调度和管理是一个广泛的话题,因此除非这是一个有趣的项目,否则我将使用市场上可用的服务/解决方案之一,都是开源的(如)和商业(like)老实说,作业调度和管理是一个广泛的话题,所以除非这是一个有趣的项目,否则我会使用市场上可用的服务/解决方案之一,包括开源(like)和商业(like)