首页 新闻 财经 体育 房产 娱乐 汽车 时尚 科技 教育 旅游 健康

首页 > 科技

揭秘贝壳找房作业调度系统KOB

来源:中国新闻快报发布时间:2019/2/20 11:14:40

贝壳找房是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的任务调度机制和任务管理理念也有所不同。

以Quartz为例,Quartz用MySQL的行锁解决任务分配问题。但对于大量短任务的这种情况,每个客户端都会抢占数据库锁,这样就会出现大量的线程等待,对客户端是非常不友好的。而KOB是用ZooKeeper来实现任务调度的,会统一由服务端分配调度任务,预先分配好了执行任务的客户端,避免了客户端抢占数据库锁这样的资源浪费。

Q:KOB目前可以支持那些语言的客户端呢?其他语言想接入KOB会不会成本很高?

目前只有Java版本的客户端,正在规划增加对其他语言的支持。在这里也希望大家加入我们的队伍,一起开发其他语言的客户端。

其他语言的客户端开发也比较容易,因为KOB的架构主要的逻辑在服务端,客户端通过与ZooKeeper通信来实现任务调度。

Q:目前线上的稳定性怎么样?

目前在公司内部,已经接入了数百个线上服务,每天完成几万次的任务调度,调度准确性达99.999%,时间误差在毫秒级,支持失效转移,稳定性是有保证的。

Q:接入了这么多的项目后,相应的运维成本是否会增加呢?

不会的,KOB的服务端是实现了高可用的,服务失败会自动处理,不会耗费运维人力,另外我司的基础监控也比较完善。

目前KOB并不需要专职的运维同学,在服务的承载能力下,任何业务方都可以自由地在平台上进行接入,自行查看任务运行情况。并且每个项目间都是逻辑隔离的,不用担心受到其他业务的影响。

KOB作业调度系统使用了目前市场最主流的技术栈,可靠性、扩展性都很高,而学习成本很低。

Q:想问下KOB作业调度系统的下一步规划是什么?

我们会抓紧推进KOB社区的建设,同社区一起发展,在功能上即将发布跨项目调度功能,正在考虑增加DAG调度等新功能。

Q:最后一个问题,团队有没有其他产品开源的计划?

团队目前有一些其他技术类项目,解决业务中遇到的一些具体的问题,比如帮助线上定位问题、数据一致性组件等,也有开源计划,暂时保密。

推荐阅读

早春“针织衫”才是刚需,选款和搭配都总结好了,照着穿真减龄早春的季节,温度回升,我们的衣衫也变得轻薄起来。尤其是在温暖的南方地区,春季的氛围也是越来越浓烈。轻薄、软糯、甜美的针织衫,也成为女性必备单【详细】

40岁女人衣品更重要,简约优雅不失时尚,基础款穿出高级感世人都说40岁男人是一朵花,其实这个年龄段女性,也是有自己优势。这种具体表现在,就是自己得体穿着,姣好气质。衣品上代表你对生活审美,以及自己时【详细】