看图秒懂什么是java分布式调度引擎

本文通过实例介绍了分布式调度引擎的概念,从单线程模式到多线程简单模式,再到分布式多线程多主机复杂模式,阐述了分布式调度引擎如何解决任务拆分、容错和多线程管理等问题,以提高任务处理效率。
摘要由CSDN通过智能技术生成

什么是分布式调度引擎?

大家在公司做项目的时候都应该有过这种task类型的工程吧?

下面我们通过一个简单的场景来了解下分布式调度引擎的!我们来看课件图一。

简单介绍下这个场景啊。场景的需求是这样的。每天晚上凌晨12点到凌晨3点备份a表的数据都b表去!

解决当前场景的方案有很多啊!我们先来看一个最简单,最原始的方案。叫

单线程模式,就是写一个while true。不停的去比配两张表的数据,没有数据就让线程sleep一会,一select到数据就开始insert备份,这种模式只有一个线程在运行整个任务!并且只有一台主机!处理的比较慢。效率很低!

为了更高效的处理task任务。于是推出了第二种方案,

就是下面的多线程简单模式

这种模式下有三个线程同时在跑这个任务。thread1线程不停的在数据库里查找要更新的数据。找到了就将数据放入队列queueA中。这个queueA是一个队列。thread2和thread3不停的在队列中取数据。将数据insert要备份的表中去!这是典型的队列的生产消费模式!3个线程同时运转这样就大大的加快了我们任务处理的效率了。这种模式下是多线程。单主机去处理。也是有缺陷的!比如说服务器A挂了!整个任务处理就停止了。存在着单点风险!还有一点就是。比如说A服务器创建线程的最高上限是3个!打个比方啊。如果我们需要6个线程来同时处理当前任务!那这个多线程简单模式就解决不了我们的问题了,于是就有了第三种方案。看下面的图

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hanhua6771

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值