下单接口调用链. Copy the source, paste into the official playground, done. No coordinates — every position is stated relative to something else.
node client "Client"
node lb "Load balancer" below client
node auth "Auth service" right of lb
node orders "Order service" below lb
node db "Database" below orders
edge client -> lb "POST /orders"
edge lb -> auth "token check"
edge lb -> orders
edge orders -> db "insert"npx reladraw sequence-api.reladraw -o out.svgA single request traced through the stack: client, load balancer, auth check, the service that does the work, the database it writes to. Use it to debug latency arguments, document an API contract, or onboard someone to a codebase — it answers who is called, in what order.
node redis "Redis" right of db and edge orders -> redis "get cached".node err "429 response" right of lb with edge auth -> err "reject".edge orders -> db "enqueue write" — or add a queue node between service and database.Yes for request-level sequences: place caller above callee and draw each call as a labeled edge in order. For long, branching UML sequences with lifelines and activation bars, a dedicated sequence tool still fits better.
In the edge label: POST /orders for sync, enqueue for async. If the distinction is central to your doc, add separate queue and response nodes so the return path is explicit.
Add an edge back to the caller labeled retry ×3 or timeout 2s. Explicit back edges beat prose notes — reviewers scan edges, not captions.