01 / DECISION
何時值得加入這個 primitive
當 producer 不該等待較慢或容易失敗的 consumer 時使用 queue。
02 / ARCHITECTURE
建立最小且站得住腳的路徑
定義有版本的 message schema 與 idempotency key、限制 retries、隔離 poison message,並監看 age 與 throughput。
- 01先命名 contract
當 producer 不該等待較慢或容易失敗的 consumer 時使用 queue。
- 02只加入一個 primitive
定義有版本的 message schema 與 idempotency key、限制 retries、隔離 poison message,並監看 age 與 throughput。
- 03保留 failure evidence
送出 duplicate 與 malformed messages、強制 consumer failure,並證明 retry、deduplication 與 dead-letter recovery。
03 / REPRODUCE
有證據,再有信心
送出 duplicate 與 malformed messages、強制 consumer failure,並證明 retry、deduplication 與 dead-letter recovery。
npx wrangler queues list 04 / BOUNDARY
Production boundary
At-least-once delivery 代表 duplicate 是正常情況;若 lag 與 terminal failure 不可觀察,queue 只會把 latency 藏起來。
05 / FIRST-PARTY SOURCES
讓第一方來源保持權威
產品行為、限制、價格與供應狀態會改變;採取行動前請重新核對這些來源。