上游棋牌

雷雷猪>推荐>正文

专访贝壳找房赵禹光:KOB如何实现任务调度统一管理

2019-03-07 13:10:24 分享

  贝壳找房是2018年4月推出的“新居住”服务平台,为消费者提供包括二手房、新房、租赁等全方位的居住服务。随着公司业务的发展和中台战略的推进,为了管理大量的分布式调度任务,贝壳找房技术团队开发了一套中心化的作业调度系统KOB(Ke Job的简称),定义了公司的任务调度模型,实现了任务调度的统一管理和监控。

  KOB是贝壳找房开发的分布式作业调度系统,其架构简介如下:

  作为贝壳找房的大型开源项目之一,KOB背后的核心功能和创新点是大家关心的重点。针对一些关键问题,我们采访了项目负责人赵禹光。

  Q:为什么要做KOB这个项目?

  说来话长,随着公司业务的发展和中台战略的推进,很多大型项目拆分成多个小项目和微服务。我们之前使用Quartz来实现作业调度功能,但随着项目的增多,作业调度任务也分散在许多不同的项目和微服务中。这样不仅不利于作业调度任务的统一管理,也会浪费大量的服务资源,同时也无法实现跨项目间的任务调度。

  基于以上思考,我们开发了第一版作业调度系统,又经过了1年多的沉淀,开源了KOB作业调度系统。

  Q:为什么后来要选择开源?

  带着公司在发展中遇到的作业调度问题,我们调研了很多市场上的产品,发现并没有能很好地解决我们需求的产品,因此我们决定自研。现在经过了1年多的沉淀,把我们的方案和产品以开源的方式回馈给社区,希望可以为作业调度方向提供新的解决方案,让大家共同参与建设。

  Q:目前国内有哪些比较好的作业调度系统?KOB跟它们相比又有什么区别?

  作业调度系统是每个互联网公司的基础服务,国内常用的有Elastic-job、TBSchedule等开源产品。

  首先,它们都基于Quartz实现任务调度,每个项目需要建立相应的配置和存储,有一定的接入成本,且任务调度模块的扩展性较低。而KOB的作业调度组件都是自研的,各种配置由服务端统一管理,接入成本比较低,并且基于KOB做功能定制会更加灵活。

  其次,KOB在中心化的实现方案下,保证了每个业务线机器资源的弹性伸缩,同时也实现了任务调度的统一管理和监控,降低了每个项目的管理成本。

  再次,KOB实现了管道队列模块,在调度任务较多时,会将任务保留并延迟执行,保证调度任务必然运行,不会因为负载过高而丢失任务。

  最后,我们支持对已接入的项目做资源隔离,使得各个项目的接入更加简单,不必考虑其他项目。其他的差异可以查看我们做的竞品分析:KOB竞品分析

  Q:我们在架构方面,有哪些创新呢?

  除了刚才所说的区别以外,KOB的任务调度机制和任务管理理念也有所不同。

声明:本站部分资源来源于网络,版权归原作者或者来源机构所有,如作者或来源机构不同意本站转载采用,请通知我们,我们将第一时间删除内容。本站刊载文章出于传递更多信息之目的,所刊文章观点仅代表作者本人观点,并不意味着本站赞同作者观点或证实其描述,其原创性及对文章内容的真实性、完整性、及时性本站亦不作任何保证或承诺,请读者仅作参考。
编辑: