Background job đáng tin cậy trong NestJS với BullMQ: retry, idempotency và transactional outbox
Cách dựng background job trong NestJS 12 với BullMQ 6 sao cho không bao giờ lặng lẽ mất việc và không bao giờ trừ tiền khách hai lần: at-least-once và idempotency, transactional outbox, retry có phân loại lỗi, dead-letter, rate limit, graceful shutdown và observability.