theme theme
您现在的位置:厦门光沃自动化设备有限公司首页 > 产品中心 > A16B-1210-0590
2025年04月19日 星期六

产品中心

  • A16B-1210-0590

  • 更新时间:2025-04-19
  • 联系方式

    18030229050  /  0592-5709821

    欧阳 先生(销售

  • 举报
  • 收藏该店铺
  • 已收藏
详细信息

A16B-1210-0590

A16B-1210-0590

A16B-1210-0590

什么是定时器

定时器(Timer)是一种在指定时间开始执行某一任务的工具(也有周期性反复执行某一任务的Timer,我们这里暂不讨论)。它常常与延迟队列这一概念关联。那么在什么场景下我才需要使用定时器呢?

我们先看看以下业务场景:

  • 当订单一直处于未支付状态时,如何及时的关闭订单,并退还库存?

  • 如何定期检查处于退款状态的订单是否已经退款成功?

  • 新创建店铺,N天内没有上传商品,系统如何知道该信息,并发送激活短信?

为了解决以上问题,简单直接的办法就是定时去扫表。每个业务都要维护一个自己的扫表逻辑。当业务越来越多时,我们会发现扫表部分的逻辑会非常类似。我们可以考虑将这部分逻辑从具体的业务逻辑里面抽出来,变成一个公共的部分。这个时候定时器就出场了。

二、定时器的本质

一个定时器本质上是这样的一个数据结构:deadline越近的任务拥有越高优先级,提供以下几种基本操作:

  1. Add 新增任务

  2. Delete 删除任务

  3. Run 执行到期的任务/到期通知对应业务处理

  4. Update 更新到期时间 (可选)

Run通常有两种工作方式:1.轮询,每隔一个时间片就去查找哪些任务已经到期;2.睡眠/唤醒,不停地查找deadline近的任务,如到期则执行;否则sleep直到其到期。在sleep期间,如果有任务被Add或Delete,则deadline近的任务有可能改变,线程会被唤醒并重新进行1的逻辑。

它的设计目标通常包含以下几点要求:

  1. 支持任务提交(消息发布)、任务删除、任务通知(消息订阅)等基本功能。

  2. 消息传输可靠性:消息进入延迟队列以后,保证至少被消费一次(到期通知保证At-least-once ,追求Exactly-once)。

  3. 数据可靠性:数据需要持久化,防止丢失。

  4. 高可用性:至少得支持多实例部署。挂掉一个实例后,还有后备实例继续提供服务,可横向扩展。

  5. 实时性:尽大努力准时交付信息,允许存在的时间误差,误差范围可控。


站内搜索

证书荣誉

当前暂无信息

联系我们

  • 联系人: 欧阳 先生
  • 位: 销售
  • 话: 0592-5709821
  • 机: 18030229050
  • 真: 0592-5917519

推荐系列

  • 资质公示 厦门光沃自动化设备有限公司 地址: 福建省 厦门市 厦门市海沧区沧湖东一里502号702室之一
  • 管理入口  技术支持:世铝网 长江有色
扫一扫,进入微商铺
您正在使用移动设备访问世铝网,您可以
浏览移动版,继续访问电脑版