本节的重点将采用原生java,tbs和xxl-job三个模型来测试处理50万业务数据,总结他们的差异,向读者朋友们展示为什么作者称tbs为性能怪兽。 本节以实际...
TBSchedule中的调度设计 TBSchedule是由Taobao开源的一款非常优秀的高性能分布式调度框架,TBSchedule的使用非常广泛,目前被应用于淘宝、京东、国美、等很多互联网企业的调度系统...TBSchedule的宿主服务器可以进行动态扩容和资源回收,这个特点主要是因为它后端依赖的ZooKeeper,这里的ZooKeeper对于TBSchedule来说是一个NoSQL,用于存储策略、任务、心跳信息数据...下图为TBSchedule的基本结构图,从图上可以到,TBSchedule从整体上来说遵循的是去中心化的调度模式,每个节点都可以从ZooKeeper中拉取任务去执行。 ?...图6 TBSchedule结构图 TBSchedule提供了两个核心组件ScheduleServer、TBScheduleManagerFactory。...TBSchedule的不足 尽管TBSchedule已经很优秀,尤其是资源调度这块,但是TBSchedule也有不足的地方: TBSchedule中对于批量任务开发的指导比较欠缺,这点SpringBatch
各个调度器都遵守一个基于数据库锁的操作规则从而保证了操作的唯一性 原理图 缺点:quartz的分布式只是解决了高可用的问题,并没有解决任务分片的问题,还是会有单机处理的极限 2.TBSchedule...TBSchedule是一款非常优秀的高性能分布式调度框架,广泛应用于阿里巴巴、淘宝、支付宝、京东、聚美、汽车之家、国美等很多互联网企业的流程调度系统。...tbschedule在时间调度方面虽然没有quartz强大,但是它支持分片功能。...和quartz不同的是,tbschedule使用ZooKeeper来实现任务调度的高可用和分片 原理图 TBSchedule的分布式机制是通过灵活的Sharding方式实现的,分片的规则由客户端决定,...TBSchedule不仅提供了服务端的高性能调度服务,还提供了一个scheduleConsole的war包,随着宿主应用的部署直接部署到服务器,可以通过web的方式对调度的任务、策略进行监控管理,以及实时更新调整
而且TBSchedule作业类型较为单一,只能是获取/处理数据一种模式。还有就是文档缺失比较严重。...tbschedule在时间调度方面虽然没有quartz强大,但是它支持分片功能。和quartz不同的是,tbschedule使用ZooKeeper来实现任务调度的高可用和分片。...TBSchedule的分布式机制是通过灵活的Sharding方式实现的,分片的规则由客户端决定,比如可以按所有数据的ID按10取模分片、按月份分片等等。...TBSchedule的宿主服务器可以进行动态扩容和资源回收,这个特点主要是因为它后端依赖的ZooKeeper,这里的ZooKeeper对于TBSchedule来说是一个NoSQL,用于存储策略、任务、心跳信息数据...TBSchedule会定时扫描当前服务器的数量,重新进行任务分配。
配置管理 super-diamond disconf apollo 分布式文件系统 FastDFS 分布式任务调度框架 Elastic-Job 详解当当网的分布式作业框架elastic-job TBSchedule
虽然Quartz可以基于数据库实现作业的高可用,但缺少分布式并行调度的功能 TBSchedule:阿里早期开源的分布式任务调度系统。代码略陈旧,使用timer而非线程池执行任务调度。...而且TBSchedule作业类型较为单一,只能是获取/处理数据一种模式。
3.调研框架 3.1 TBSchedule 一般调研Java系的一些框架,可以先看看阿里是不是有开源的,毕竟最近这几年阿里在开源这一块做得是非常的好,再网上搜索到阿里在12年开源了一个调度框架叫TBSchedule...github地址:https://github.com/taobao/TBSchedule 3.2 elastic-job elastic-Job 是当当开源的一个分布式调度解决方案,由两个相互独立的子项目
TBSchedule: 阿里早期开源的分布式任务调度系统。代码略陈旧,使用timer而非线程池执行任务调度。众所周知,timer在处理异常状况时是有缺陷的。...而且TBSchedule作业类型较为单一,只能是获取/处理数据一种模式。还有就是文档缺失比较严重。 Crontab: Linux系统级的定时任务执行器。缺乏分布式和集中管理功能。
TBSchedule: TBSchedule 是一个支持分布式的调度框架,能让一种批量任务或者不断变化的任务,被动态地分配到多个主机的 JVM 中,不同的线程组中并行执行。...TBSchedule 侧重于任务的分发,支持任务分片,但是没有任务编排,也不是跨平台的。...√ √ √ √ Quartz × × .NET √ × API监控 TBSchedule
2.选择开源方案 TBSchedule:阿里早期开源的分布式任务调度系统。代码略陈旧,使用timer而非线程池执行任务调度。众所周知,timer在处理异常状况时是有缺陷的。...而且TBSchedule作业类型较为单一,只能是获取/处理数据一种模式。还有就是文档缺失比较严重。
在技术VP震平支持下,我们开发应用框架ddFrame,其中SOA采用了沈理二次开发的DubboX,定时任务采用了TBSchedule,数据库部分dd-rdb则是自己开发的,当时还只是个雏形。
TBSchedule TBSchedule是阿里开发的一款分布式任务调度平台,旨在将调度作业从业务系统中分离出来,降低或者是消除和业务系统的耦合度,进行高效异步任务处理。...github地址:https://github.com/taobao/TBSchedule 老实说优秀的定时任务还是挺多的,不是说哪种定时任务牛逼我们就一定要用哪种,而是要根据实际业务需求选择。
TBSchedule(阿里) 4.5. niubi-job 4.6.
所属责任人 2.2 常见分布式任务调度框架 目前主流的分布式作业调度平台,主要有:当当网开源项目Elastic-job、大众点评开源项目xxl-job、唯品会开源项目Saturn、阿里巴巴早期开源项目TBSchedule
领取专属 10元无门槛券
手把手带您无忧上云