基于Redis 的任务队列Bull -- (一)简介

Bull是一个基于Redis的Node.js任务队列,以其高性能和稳定性著称。它采用了无轮询设计,利用Redis的原子操作实现任务的可靠处理。支持延迟任务、cron调度、速率限制、优先级队列和并发控制等功能。尽管目前Bull处于维护模式,新功能发展转向了BullMQ,但其仍然是一个强大的工具。
摘要由CSDN通过智能技术生成

https://github.com/OptimalBits/bull

bull自称是最快、最可靠、基于 Redis 的 Node.js 队列。为了坚如磐石的稳定性和原子性而精心编写。

所以我们来看一看怎么搞的

特性

  • 采用无轮询设计,CPU 使用率降至最低。

  • 基于Redis的稳健设计。 -- 所有工作数据存储在redis,大量使用了redis的原子操作特性

  • 延迟工作。-- 使用定时器来更新延迟队列

  • 根据 cron 规范安排和重复作业。

  • 工作的速率限制器。 -- 使用 redis key 的expire和原子性来保证速率限制

  • 重试。

  • 优先级队列。

  • 并发性。 -- 只提供本地队列的并发控制,无法控制不同工作线程的全局并发设置

  • 暂停/恢复——全局或本地。

  • 每个队列有多种作业类型。

  • 线程化(沙盒)处理函数。

  • 从进程崩溃中自动恢复。

现状

Bull 目前处于维护模式,仅修复错误。新功能在BullMQ里。

BullMQ同时还提供了BullMQ Pro商业版本,已经走上了赚钱的路子。

估计原来bull的功能也有很大的改进空间。bull项目的未来看起来也就那样了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

afan_coding

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

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

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

打赏作者

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

抵扣说明:

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

余额充值