Commit Atomically, Publish With Retry

Commit Atomically, Publish With Retry A sequence diagram generated by Archify. POST /orders commit order + outbox row atomically commit ok 201 + order id poll outbox from kept offset order-created events 1-5 publish events 1-2 of 5 stream breaks: relay crashes, offset kept restart, resume from kept offset redeliver events 1-5 republish all 5 (duplicates) upsert by order id ok, duplicates harmless Commit Publish Crash + recovery Client · places order · Sequence participant Client places order Order API · request handler · Sequence participant Order API request handler Orders DB · record + outbox rows · Sequence participant Orders DB record + outbox rows Outbox Relay · polls + publishes · Sequence participant Outbox Relay polls + publishes Search Consumer · upserts by order id · Sequence participant Search Consumer upserts by order id Search Index · derived view · Sequence participant Search Index derived view Legend main request return async trace message