分布式任务 + 消息队列框架 go-queue

go-queue 是一个基于 beanstalkd 和 kafka 的分布式任务和消息队列框架,旨在降低开发者的使用成本。它提供了一个简化版的 API,支持延时任务、高可用性和可扩展性。go-queue 分为 dq 和 kq 两个组件,dq 适用于延时、定时任务,而 kq 适合异步、批量任务。框架的使用包括指定任务类型、消费逻辑等,方便开发者快速集成到项目中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 为什么写这个库
  2. 应用场景有哪些
  3. 如何使用
  4. 总结

为什么要写这个库?

在开始自研 go-queue 之前,针对以下我们调研目前的开源队列方案:

beanstalkd

beanstalkd 有一些特殊好用功能:支持任务priority、延时(delay)、超时重发(time-to-run)和预留(buried),能够很好的支持分布式的后台任务和定时任务处理。如下是 beanstalkd 基本部分:

  • job:任务单元;
  • tube:任务队列,存储统一类型 job。producer 和 consumer 操作对象;
  • producerjob 生产者,通过 put 将 job 加入一个 tube;
  • consumerjob 消费者,通过 reserve/release/bury/delete 来获取job或改变job的状态;

很幸运的是官方提供了 go client:https://github.com/beanstalkd/go-beanstalk。

但是这对不熟悉 beanstalkd 操作的 go 开发者而言࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值