--- title: NATS JetStream 持久消费者与 Ack 重试策略实战 keywords: JetStream, durable, pull consumer, manualAck, ack policy, max-deliver description: 使用 JetStream 创建流与持久消费者,示例包含手动确认与最大投递次数,确保可靠处理与重试。 categories: - 文章资讯 - 技术教程 --- 创建流与持久消费者(CLI): ``` nats stream add ORDERS --subjects orders.* --storage file --retention limits --max-age 72h --replicas 1 nats consumer add ORDERS worker --filter orders.created --pull --ack explicit --max-deliver 5 ``` Node.js 订阅处理(手动确认): ```js import { connect } from 'nats' const nc = await connect({ servers: 'nats://127.0.0.1:4222' }) const js = nc.jetstream() const sub = await js.subscribe('orders.created', { durable: 'worker', manualAck: true }) for await (const m of sub) { try { const data = JSON.parse(m.string()) // 业务处理... m.ack() } catch (e) { // 未 ack 将触发重投递,受 max-deliver 控制 } } ```

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部